簡體   English   中英

在網格視圖中動態添加行

[英]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事件中填充產品名稱,而不是像提到的文章中所述的ButtonClick事件,您必須處理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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM