C# 使用“我的编辑和页脚”模板中数据库的数据填充gridview中的dropdownlist
我试图在我的孩子嵌套的gridview上有一个dropdownlist,但没有用。我的asp.net 4 web应用程序上有代码隐藏。 下面是我的gridview的代码C# 使用“我的编辑和页脚”模板中数据库的数据填充gridview中的dropdownlist,c#,asp.net,C#,Asp.net,我试图在我的孩子嵌套的gridview上有一个dropdownlist,但没有用。我的asp.net 4 web应用程序上有代码隐藏。 下面是我的gridview的代码 <asp:TemplateField HeaderText="Status" SortExpression="Status"> <ItemTemplate><%# Eval("Status")%></
<asp:TemplateField HeaderText="Status" SortExpression="Status">
<ItemTemplate><%# Eval("Status")%></ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="DropDownListStatus" runat="server">
</asp:DropDownList>
</EditItemTemplate>
<FooterTemplate>
<asp:DropDownList ID="DropDownListStatus" runat="server" >
</asp:DropDownList>
我试图为我的dropdownlist找到一个控件,使用一个查询并将它绑定到我的dropdownlist,但是我没能做这么简单的事情 在您的代码隐藏中:
protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
{
//Check if this is our Blank Row being databound, if so make the row invisible
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (((DataRowView)e.Row.DataItem)["CertificateNo"].ToString() == String.Empty) e.Row.Visible = false;
//Check if is in edit mode
if ((e.Row.RowState & DataControlRowState.Edit) > 0)
{
DropDownList DropDownListStatus = (DropDownList)e.Row.FindControl("DropDownListStatus");
//Bind status data to dropdownlist
DropDownListStatus.DataTextField = "Status";
DropDownListStatus.DataValueField = "Status";
DropDownListStatus.DataSource = RetrieveStatus();
DropDownListStatus.DataBind();
DataRowView dr = e.Row.DataItem as DataRowView;
DropDownListStatus.SelectedValue = dr["Status"].ToString();
}
}
}
然后对于RetrieveStatus:
private DataTable RetrieveStatus()
{
//fetch the connection string from web.config
string connString = ConfigurationManager.ConnectionStrings["sb_cpdConnectionString"].ConnectionString;
//SQL statement to fetch entries from products
string sql = @"Select distinct Status from cpd_certificates";
DataTable dtStatus; = new DataTable();
//Open SQL Connection
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
//Initialize command object
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
//Fill the result set
adapter.Fill(dtStatus;);
}
}
return dtStatus;
}
测试和工作最终
private DataTable RetrieveStatus()
{
//fetch the connection string from web.config
string connString = ConfigurationManager.ConnectionStrings["sb_cpdConnectionString"].ConnectionString;
//SQL statement to fetch entries from products
string sql = @"Select distinct Status from cpd_certificates";
DataTable dtStatus; = new DataTable();
//Open SQL Connection
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
//Initialize command object
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
//Fill the result set
adapter.Fill(dtStatus;);
}
}
return dtStatus;
}