asp.net c# 如何用GridView绑定下拉列表框??求救!在线等待!

qqqaaa666 2007-10-23 11:56:05
asp.net c# 如何用GridView绑定下拉列表框??求救!


我用asp.net c# 做了数据绑定表,但其中一个字段是下拉列表的,这个下拉列表是从数据库其他表读取的,请问怎么绑定.急!!!!!

...全文
836 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jeremyyang824 2007-10-23
  • 打赏
  • 举报
回复
直接在页面绑定似乎不行,只能在后台代码绑定了
jeremyyang824 2007-10-23
  • 打赏
  • 举报
回复
后台:

DataSet dataSet;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataSet ds = GetDs();
dataSet = GetDs(); //得到dropdownlist的数据源

this.gvTest.DataSource = ds.Tables[0]; //随便找个数据源绑上gridview(这里为了方便就用dropdownlist的数据源了)

this.gvTest.DataBind();
}
}

private DataSet GetDs() //获取dropdownlist的数据源
{
System.Data.SqlClient.SqlConnection con = new SqlConnection("Server=.;database=northwind;uid=sa;pwd=858248");
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "select top 10 orderID from orders";
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "t");
return ds;
}

protected void gvTest_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex > -1) //不绑定gridview header
{
DropDownList ddlTest = (DropDownList)e.Row.FindControl("ddlTest");
ddlTest.DataSource = this.dataSet.Tables[0];
ddlTest.DataTextField = "orderid"; //显示值
ddlTest.DataValueField = "orderid"; //实际值
ddlTest.DataBind();
}
}

页面:

<asp:GridView ID="gvTest" runat="server" AutoGenerateColumns="false" OnRowDataBound="gvTest_RowDataBound" >
<Columns>
<asp:TemplateField HeaderText="name">
<ItemTemplate>
<asp:DropDownList ID = "ddlTest" runat="server" DataTextField="orderid" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧