[英]Populating Gridview's Drop Down List depending on database value
我想在我的代碼中獲得一些幫助,我想做的是填充我的下拉列表,該列表顯示可用數量(存儲在數據庫中)但是當我嘗試在行中找到控件時,我得到一個 null參考異常它說行是 null。
這是包含我的下拉列表的模板字段
<asp:TemplateField HeaderText="Quantity" SortExpression="Quantity">
<EditItemTemplate>
<asp:DropDownList ID="ddlQuantity" runat="server">
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("Quantity") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
和我背后的代碼
protected void Cart_GV_RowEditing(object sender, GridViewEditEventArgs e) {
Cart_GV.EditIndex = e.NewEditIndex;
GridViewRow row = (sender as Control).Parent.Parent as GridViewRow;
DropDownList ddlQuantity = row.FindControl("ddlQuantity") as DropDownList;
string cartitemid = Cart_GV.DataKeys[e.NewEditIndex].Value.ToString();
conn.Open();
SqlCommand checkQuantity = new SqlCommand("SELECT OnHandQTY FROM Inventory INNER JOIN Cart_Item ON Inventory.ProductID = Cart_Item.ProductID WHERE CartItemID = '" + cartitemid + "';", conn);
int availalbleQuantity = (int)checkQuantity.ExecuteScalar();
conn.Close();
for (int i = 1; i <= availalbleQuantity; i++) {
ListItem item = new ListItem(i.ToString(), i.ToString());
ddlQuantity.Items.Add(item);
}
ViewUserCart();
}
請試試這個
protected void Cart_GV_RowEditing(object sender, GridViewEditEventArgs e) {
Cart_GV.EditIndex = e.NewEditIndex;
GridViewRow row = (sender as Control).Parent.Parent as GridViewRow;
DropDownList ddlQuantity = row.FindControl("ddlQuantity") as DropDownList;
string cartitemid = Cart_GV.DataKeys[e.NewEditIndex].Value.ToString();
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT OnHandQTY FROM Inventory INNER JOIN Cart_Item ON Inventory.ProductID = Cart_Item.ProductID WHERE CartItemID = '" + cartitemid + "';", conn);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
con.Close();
ddlQuantity.DataSource = dt;
ddlQuantity.DataTextField = "OnHandQTY";
ddlQuantity.DataValueField = "OnHandQTY";
ddlQuantity.DataBind();
ViewUserCart();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.