gpt4 book ai didi

asp.net - 如何在gridview中绑定(bind)下拉列表?

转载 作者:行者123 更新时间:2023-12-04 04:46:43 26 4
gpt4 key购买 nike

我有一个gridview,其中每一行都包含一个下拉列表。我想动态绑定(bind)每个下拉列表。有人可以告诉我我该怎么做。提前致谢

最佳答案

如果您使用的是模板列,那么您可以使用数据绑定(bind)表达式从标记中绑定(bind)下拉列表。例如,

<asp:TemplateField HeaderText="XYZ">
<ItemTemplate>
<asp:DropDownList runat="server" ID="MyDD" DataSourceId="MyDataSource" />
</ItemTemplate>
</asp:TemplateField>

以上假设您的下拉数据在各行中保持不变。如果它正在发生变化,那么您可以使用数据绑定(bind)表达式,例如
<asp:DropDownList runat="server" DataSource='<%# GetDropDownData(Container) %>' DataTextField="Text" DataValueField="Value"  />

GetDropDownData 将是代码隐藏中的 protected 方法,它将返回给定行的数据(数据表、列表、数组)。

您可以使用 GridView.RowDataBound代码隐藏中的事件(或 RowCreated 事件)以填充下拉列表。例如,
  protected void GridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{

if(e.Row.RowType == DataControlRowType.DataRow)
{
// Find the drop-down (say in 3rd column)
var dd = e.Row.Cells[2].Controls[0] as DropDownList;
if (null != dd) {
// bind it
}

/*
// In case of template fields, use FindControl
dd = e.Row.Cells[2].FindControl("MyDD") as DropDownList;
*/
}

}

关于asp.net - 如何在gridview中绑定(bind)下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7329224/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com