[英]DropDownList in a GridView to bind the selected value of DropDown in TextBox inside a GridView in asp.net c#
[英]Locating dropdownlist inside of asp.net gridview template field in C#
所以我有這個gridview如下所示:
<asp:GridView ID="gridDetaljiNarudzbe" AutoGenerateColumns="false" AllowPaging="true" PageSize="10" runat="server" OnRowCommand="gridDetaljiNarudzbe_RowCommand" OnPageIndexChanging="gridDetaljiNarudzbe_PageIndexChanging" OnRowDataBound="gridDetaljiNarudzbe_RowDataBound">
<Columns>
<asp:BoundField DataField="Naziv" HeaderText="Naziv" />
<asp:BoundField DataField="Sifra" HeaderText="Šifra" />
<asp:BoundField DataField="Cijena" HeaderText="Cijena" />
<asp:BoundField DataField="Kolicina" HeaderText="Količina" />
<asp:TemplateField HeaderText="Ocjena">
<ItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="btnOcijeni" title="Ocijeni proizvod" CommandName="OcijeniCommand" CommandArgument='<%# Eval("ProizvodID") %>' runat="server"><img src="../images/ocijeni.png" /></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我想知道有什么方法可以訪問此下拉列表並用數據填充它。 我嘗試了以下代碼,但是它們都不起作用,所有返回的錯誤“對象引用未設置為實例”:
DropDownList drop = gridDetaljiNarudzbe.FindControl("DropDownList1") as DropDownList;
然后,我將執行以下操作: drop.Items.Add(new ListItem("test"));
我也嘗試過使用RowDataBound事件,但是它也沒有起作用...
DropDownList droplist = e.Row.FindControl("DropDownList1") as DropDownList;
然后使用以下代碼填充網格,只是為了測試它是否有效:
drop.Items.Add(new ListItem("test"));
但是這些都不起作用...我還想知道如何從該下拉列表中獲取值,並在有人從中獲取東西時將其插入數據庫。 有人可以幫我這個忙嗎?
這應該做
foreach (GridViewRow gr in gridDetaljiNarudzbe.Rows)
{
DropDownList drop = gr.FindControl("DropDownList1") as DropDownList;
drop.Items.Add(new ListItem("test"));
}
或者如果您想在RowDataBound
事件中執行此操作
protected void gridDetaljiNarudzbe_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList drop = e.Row.FindControl("DropDownList1") as DropDownList;
drop.Items.Add(new ListItem("test"));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.