Gridview не отображается при выборе значения в раскрывающемся столбце
Привет,
В настоящее время у меня есть выпадающий список, содержащий значения из столбца в привязанной к нему базе данных. У меня есть код c#, который мне нужно изменить отображаемые данные в gridview в зависимости от выбранного значения из выпадающего списка.
На данный момент при запуске вообще нет ошибок, однако gridview не появляется.
Любая помощь будет оценена по достоинству!
Страница Загрузки С#
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { SqlConnection con = new SqlConnection(@"Data Source=(local)\;Initial Catalog=SmallBatch;Integrated Security=True;"); con.Open(); String getState = "Select Username From Site "; DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter(getState, con); da.Fill(dt); DropDownList1.DataSource = dt; DropDownList1.DataTextField = "Username"; DropDownList1.DataValueField = "Username"; DropDownList1.DataBind(); con.Close(); }
Выбранный Показатель Изменился С#
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { SqlConnection con = new SqlConnection(@"Data Source=(local)\;Initial Catalog=SmallBatch;Integrated Security=True;"); SqlDataAdapter DataAdapter = new SqlDataAdapter(string.Format("SELECT Stock_Take.Username, Item.ItemID, Item.ItemDesc, Stock_Take_Item.BarQuantity, Stock_Take_Item.StorageQuantity, Stock_Take.StockTakeIDNew FROM Item INNER JOIN Stock_Take_Item ON Item.ItemID = Stock_Take_Item.ItemID INNER JOIN Stock_Take ON Stock_Take_Item.StockTakeIDNew = Stock_Take.StockTakeIDNew where Stock_Take.Username = = '" + DropDownList1.SelectedValue + "'"), con); DataTable table = new DataTable(); DataAdapter.Fill(table); GridView1.DataSource = table; GridView1.DataBind(); }
Код Gridview
<asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"></asp:DropDownList> <asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" GridLines="Horizontal"> <FooterStyle BackColor="#CCCC99" ForeColor="Black" /> <HeaderStyle BackColor="#333333" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="White" ForeColor="Black" HorizontalAlign="Right" /> <SelectedRowStyle BackColor="#CC3333" Font-Bold="True" ForeColor="White" /> <SortedAscendingCellStyle BackColor="#F7F7F7" /> <SortedAscendingHeaderStyle BackColor="#4B4B4B" /> <SortedDescendingCellStyle BackColor="#E5E5E5" /> <SortedDescendingHeaderStyle BackColor="#242121" /> <Columns> <asp:TemplateField HeaderText="Item ID" HeaderStyle-CssClass="gridview-header"> <ItemTemplate> <asp:Label ID="itemIDAdmin" Text='<%# Eval("ItemID")%>' runat="server"></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Item Description" HeaderStyle-CssClass="gridview-header"> <ItemTemplate> <asp:Label ID="itemDescAdmin" Text='<%# Eval("ItemDesc")%>' runat="server"></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Bar Quantity" HeaderStyle-CssClass="gridview-header"> <ItemTemplate> <asp:Label ID="barQuantityAdmin" Text='<%# Eval("BarQuantity")%>' runat="server"></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Storage Quantity" HeaderStyle-CssClass="gridview-header"> <ItemTemplate> <asp:Label ID="storageQuantityAdmin" Text='<%# Eval("StorageQuantity")%>' runat="server"></asp:Label> </ItemTemplate> </asp:TemplateField> </Columns>
Что я уже пробовал:
Я попытался заполнить gridview отдельным методом, но все равно тот же результат.
an0ther1
Используйте свой отладчик - работает ли обработчик событий DropDownList1_SelectedIndexChanged огонь?
Действительно ли запрос возвращает результаты? Это может быть опечатка, но ваш запрос содержит следующее в предложении where;
Stock_Take.Имя Пользователя = = '" + DropDownList1.SelectedValue + "'"
Обратите внимание на два знака равенства - это неверно
с уважением
Member 13658881
установить autopostback элемента управления=истина
&ЛТ;как ASP:dropdownlist с ИД="DropDownList1" атрибут runat="сервер" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" autopostback элемента управления="правда"и GT;
Member 13658881
установите stock_Take.Имя Пользователя='"+DropDownList1.SelectedValue+"'"