using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Admin_Inventory : WebBlocks.AdministrativePage { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { ReBind(); } } private void ReBind() { SqlCommand cmd = new SqlCommand("SELECT * FROM Selectors ORDER BY Name", pageConnection); dlProducts.DataSource = GetDataTable(cmd); dlProducts.DataBind(); cmd.Dispose(); } protected void dlProducts_ItemDataBound(object sender, DataListItemEventArgs e) { int SelectorID = (int)dlProducts.DataKeys[e.Item.ItemIndex]; DataGrid dgItems = (DataGrid)((DataListItem)e.Item).FindControl("dgItems"); RebindProduct(SelectorID, dgItems); } private void RebindProduct(int SelectorID, DataGrid dgItems) { SqlCommand cmd = new SqlCommand("SELECT i.ItemID, i.Name, i.Inventory FROM Items i INNER JOIN SelectorItemMap sim ON i.ItemID = sim.ItemID WHERE sim.SelectorID=@SelectorID", pageConnection); cmd.Parameters.AddWithValue("@SelectorID", SelectorID); DataTable Items = GetDataTable(cmd); cmd.Dispose(); if (Items.Rows.Count > 0) { dgItems.Visible = true; dgItems.DataSource = Items; dgItems.DataBind(); } else dgItems.Visible = false; } protected void btnUpdate_Click(object sender, EventArgs e) { SqlCommand cmd = new SqlCommand("UPDATE Items SET Inventory=@Inventory WHERE ItemID=@ItemID", pageConnection); cmd.Parameters.AddWithValue("@Inventory", -1); cmd.Parameters.AddWithValue("@ItemID", -1); foreach (DataListItem dli in dlProducts.Items) { DataGrid dgItems = (DataGrid)dli.FindControl("dgItems"); foreach (DataGridItem dgi in dgItems.Items) { int ItemID = (int)dgItems.DataKeys[dgi.ItemIndex]; // grab each text box TextBox txtInventory = (TextBox)dgi.FindControl("txtInventory"); // now we can perform the sql update cmd.Parameters["@Inventory"].Value = Int32.Parse(txtInventory.Text); cmd.Parameters["@ItemID"].Value = ItemID; cmd.ExecuteNonQuery(); } } Response.Redirect("StorePages.aspx"); } }