[英]Add rows in grid view dynamically
我有一個網格視圖,用於顯示產品詳細信息。 另一件事是有一個表,即。 ProductMaster。 gridview中的數據來自此表。 現在我想要的是,在第一次加載頁面時,只應填充第一列,其中包含包含產品名稱的下拉列表。 所有其他行應為空。 現在,當用戶從下拉列表中選擇項目時,此時其他列應分別填充,而其他空行應出現在填充行下方。 每當頁面加載時,都只會有一個空行(第一列下拉列表將填充產品)
我怎樣才能完成這項任務?
查閱這篇文章: http : //geekswithblogs.net/dotNETvinz/archive/2009/06/04/adding-dynamic-rows-in-gridview-with-textboxes.aspx
在TemplateColumn
內添加DropDownList
並在OnRowDataBound
事件中填充產品名稱,而不是像提到的文章中所述的Button
的Click
事件,您必須處理DropDownList
SelectedIndexChanged
事件,獲取包含此DropDownList
行上的引用並填充此列的其他列行。
aspx:
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:DropDownList ID="cmbProduct" runat="server" OnSelectedIndexChanged="cmbProduct_Changed" AutoPostBack="true" >
</asp:DropDownList>
</ItemTemplate>
...
</Columns>
后面的代碼:
protected void cmbProduct_Changed(object sender, EventArgs e)
{
DropDownList cmbProduct = (DropDownList)sender;
GridViewRow parentRow = (GridViewRow)cmbProduct.NamingContainer;
string selectedProdId = cmbProduct.SelectedValue;
/* Fetch product details & bind other columns/controls with product details */
Label lbl = (Label)parentRow.FindControl("lblProductName");
lbl.Text = "....";
/* Call AddNewRowToGrid explaied in article*/
AddNewRowToGrid();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.