C# 如何根据另一列动态填充gridview下拉列表';s值多少?
我有一个gridview,有3列:State(绑定字段)、Code(绑定字段)和ChangeCode(下拉列表)。ChangeCode字段用于更改特定状态的代码值。适用于每个州的代码列表是不同的 我有一张表格,上面列出了各州及其当前代码。我还有一张表,上面列出了每个州的允许代码。我希望“更改代码”下拉列表动态显示适用于当前记录的所有允许代码。我将ASP.NET与C#一起使用C# 如何根据另一列动态填充gridview下拉列表';s值多少?,c#,asp.net,gridview,drop-down-menu,datasource,C#,Asp.net,Gridview,Drop Down Menu,Datasource,我有一个gridview,有3列:State(绑定字段)、Code(绑定字段)和ChangeCode(下拉列表)。ChangeCode字段用于更改特定状态的代码值。适用于每个州的代码列表是不同的 我有一张表格,上面列出了各州及其当前代码。我还有一张表,上面列出了每个州的允许代码。我希望“更改代码”下拉列表动态显示适用于当前记录的所有允许代码。我将ASP.NET与C#一起使用 状态和代码字段从一个数据源获取。我无法使用包含当前记录状态值的查询从其他数据源获取ChangeCode下拉列表值。这是因为
状态和代码字段从一个数据源获取。我无法使用包含当前记录状态值的查询从其他数据源获取ChangeCode下拉列表值。这是因为我无法在运行时解析当前gridview的行。如果您有任何关于如何实现此功能的想法,我们将不胜感激。…您可以使用Gridview的RowDataBound事件,并在此事件中为特定状态绑定ChangeCode下拉列表
void GridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
DataRowView drv = (DataRowView)e.Row.DataItem;
if(e.Row.RowType == DataControlRowType.DataRow)
{
String State = drv["StateColumnName"].ToString();
//Now You Have State So You Can Get All Code Values By State Name
DataTable dtcodes = GetByState();
//Now Bind This Code To DropDownList Of Codes
DropDownList dropdownCodes = (DropDownList)e.Row.FindControl("dropdownCodes");
dropdownCodes.DataSource = dtcodes;
dropdownCodes.DataBind();
}
}
谢谢你,海伦。我要试试看。我对这件事有疑问。RowDataBound事件何时触发?它不是在获取整行数据后触发的吗?没有为每行数据绑定触发此事件。