如何根据另一列的值动态填充网格视图下拉列表
本文关键字:动态 填充 网格 下拉列表 视图 一列 何根 | 更新日期: 2023-09-27 18:31:48
我有一个包含 3 列的网格视图:状态(绑定字段)、代码(绑定字段)和更改代码(下拉列表)。"更改代码"字段的目的是更改特定状态的代码值。适用于每个州的代码列表是不同的。
我有一个表格,其中包含状态及其当前代码的列表。我还有一个表格,其中包含每个州的允许代码列表。我希望更改代码下拉列表动态显示适用于当前记录的所有允许代码。我正在将 ASP.NET 与 C# 一起使用。
"状态"和"代码"字段从一个数据源提取。我无法使用包含当前记录的 State 值的查询从其他数据源获取 ChangeCode 下拉值。这是因为我无法在运行时解析当前网格视图的行。关于如何实现这一点的任何想法将不胜感激......
您可以使用 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();
}
}