簡體   English   中英

如何通過外部按鈕單擊事件在嵌套的 GridView 中查找內部 Gridview?

[英]How to Find the Inner Gridview in a nested GridView via external button click event?

我對嵌套的 Gridview 有疑問!

我有兩個帶有 ID 的 Girdviews - GridView1(Parent Gridview) 和 GV2(Child Gridview)

我有一個帶有 ID 的 Asp:Button - btnedit(Event = OnClick())

Qs: 如何在 btnedit_Onclick 事件中訪問 GV2?

我已附上代碼供您參考:

 <form id="form1" runat="server"> <asp:Button runat="server" ID="btnedit" Text="Edit" OnClick="btnedit_Click" /> <asp:GridView runat="server" ID="Gridview1"> <Columns> <asp:TemplateField> <ItemTemplate> <asp:Label runat="server" ID="Lable1"></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField> <ItemTemplate> <asp:GridView runat="server" ID="GV2"> <Columns> <asp:TemplateField> <ItemTemplate> <asp:Label runat="server" ID="Lable2"></asp:Label> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </form>

代碼背后:

protected void btnedit_Click(object sender, EventArgs e)
  {

  }
    

這可能會讓你開始......

GridView gvGV2 = e.Row.FindControl("GV2") as GridView;
gvGV2.DataSource = "..."; //Your DataSource
gvGV2.DataBind();
// or do something else.

好的,所以用戶想要對主 GV 的第 1 行進行操作,然后獲取子 GV 的第 1 行。

Gridviews 從 0 開始,所以不清楚,但讓我們獲取前兩行。

接下來? 我真的(但真的真的)建議你使用一個主列表視圖,然后嵌套一個子 GV。

如果你嵌套兩個 GV,你往往會得到這個:

說這個 GV,用“+”擴展子網格:

在此處輸入圖像描述

並擴展,你會得到這個:

在此處輸入圖像描述

因此,嵌套網格非常困難,因為“col span”很難設置。

但是,如果我構建一個主列表視圖(看起來與 GV 相同),然后再構建一個 gv,那么我會得到:

在此處輸入圖像描述

因此,上面使用了一個主列表視圖,因此為了擴展子記錄,我確實在列表視圖的子視圖中使用了 GV。

如果您願意,我可以發布上面的工作原理甚至標記。

但是,讓 go 帶有兩個嵌套的 GV - 它會使 UI 變得一團糟,但為了學習,它如何與上面嵌套的 LV + GV 或 GV + GV 一起工作是相同的。

因此,一些平面簡按鈕 - 在兩個網格之外,獲取主網格的第一行,然后是子網格的第一行。

這有效:

    protected void Button1_Click(object sender, EventArgs e)
    {
        GridViewRow MainGvRow = GridView1.Rows[0];
        GridView ChildGV = MainGvRow.FindControl("GridView2") as GridView;

        GridViewRow ChildGVRow = ChildGV.Rows[0]
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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