asp.net - 下拉菜单在 datagridview asp.net 中不起作用
问题描述
我想在 datagridview 中有下拉列表我收到以下错误 Object reference not set to an instance of an object 但我不明白为什么会收到此错误。
这是我的前端
<asp:TemplateField HeaderText="Proveedor" >
<ItemTemplate>
<asp:Label DataField="nombre_proveedor" ID="lblSupplier" CssClass="gridTextbox" Text='<%# Eval("proveedor_id") %>' runat="server" />
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="drGridSupplier" Runat="server" AutoPostBack="false" OnSelectedIndexChanged="DropDown_SelectedIndexChanged" />
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox CssClass="gridTextbox" ID="txtSupplierFooter" runat="server" />
</FooterTemplate>
</asp:TemplateField>
这是我的后端。
protected void gvPurchases_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
using (MySqlConnection conn = new MySql.Data.MySqlClient.MySqlConnection(connString))
{
conn.Open();
DropDownList drGridSupplier = (e.Row.FindControl("drGridSupplier") as DropDownList);
using (MySqlCommand cmdd = new MySql.Data.MySqlClient.MySqlCommand("select proveedor_id,nombre from erp_proveedores", conn))
{
using (MySqlDataAdapter sdaa = new MySqlDataAdapter(cmdd))
{
DataTable dt = new DataTable();
sdaa.Fill(dt);
drGridSupplier.DataSource = dt;
drGridSupplier.DataTextField = "nombre";
drGridSupplier.DataValueField = "proveedor_id";
drGridSupplier.DataBind();
drGridSupplier.Items.Insert(0, new ListItem("--Select Qualification--", "0"));
conn.Close();
}
}
}
}
}
解决方案
推荐阅读
- ajax - pdf文件无法使用ajax保存
- openedge - 如何在 4gl 中重新抛出捕获的异常?
- spring-boot - RocketMQ Consumer 等待结果回调
- autodesk-forge - 如何在 Forge 中正确翻译和显示 .sldasm 文件?
- arrays - 从 mongodb 推入数组中查找数据
- macos - 使用 AppleScript 安排系统重启
- php - 在分配任务的前一天发送电子邮件
- python - 如何从 NavigationToolbar2Tk/FigureCanvasTkAgg 中删除工具栏按钮
- react-native - 无法在 react-native-reanimated-bottom-sheet 中滚动 Flatlist
- python - 如何从 tarfile 流式传输文件以供阅读?