我需要在 GridView 的 EditItemTemplate 中绑定 ASP.Net DropDownList 控件。
我有一个带有 commandname="Edit" 的编辑图像按钮,下拉列表也需要从不同的表(目录)绑定,而不是从绑定网格的表(详细信息)绑定。
if (e.Row.RowType == DataControlRowType.DataRow && (e.Row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit && GridView1.EditIndex == e.Row.RowIndex)
{
DropDownList DStatusEdit = (DropDownList)e.Row.FindControl("DStatusEdit");
string query = "select distinct status from directory";
SqlCommand cmd = new SqlCommand(query);
DStatusEdit.DataSource = GetData(cmd);
DStatusEdit.DataTextField = "status";
DStatusEdit.DataValueField = "status"; DStatusEdit.DataBind();
DataStatusEdit.DataBind();
}
该页面正在运行,但是当我单击“编辑图像”按钮时,dropdwn 显示,但下拉列表中没有数据绑定,它是空的。
我的网格视图位于更新面板内。
我怎样才能做到这一点?
在我的情况下,下拉列表应该绑定在 rowcommand 内,但是如何绑定?
protected void gv_RowDataBound(object sender, GridViewEditEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if ((e.Row.RowState & DataControlRowState.Edit) > 0)
{
DropDownList DStatusEdit= (DropDownList)e.Row.FindControl("DStatusEdit");
DataTable dt = con.GetData("select distinct status from directory");
DStatusEdit.DataSource = dt;
DStatusEdit.DataTextField = "status";
DStatusEdit.DataValueField = "status";
DStatusEdit.DataBind();
DataRowView dr = e.Row.DataItem as DataRowView;
DStatusEdit.SelectedValue = dr["columnname"].ToString();
}
}
}
}
protected void gv_RowEditing(object sender, GridViewEditEventArgs e)
{
gv.EditIndex = e.NewEditIndex;
gridviewBind();// your gridview binding function
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)