我對嵌套的 Gridview 有疑問!
我有兩個 ID 為 GridView1(父 Gridview)和 GV2(子 Gridview)的 Girdview
我有一個帶有 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)
{
}
uj5u.com熱心網友回復:
好的,所以用戶想對主GV的第1行進行操作,然后獲取子GV的第1行。
Gridviews 從 0 開始,所以不清楚,但讓我們取前兩行。
下一個?我真的(但真的真的)建議你使用一個主串列視圖,然后嵌套一個子 GV。
如果你嵌套兩個 GV,你往往會得到這個:
說這個 GV,用“ ”擴展子網格:

并且擴展,你得到這個:

所以,嵌套網格非常困難,因為“col span”很難設定。
但是,如果我構建一個主串列視圖(看起來與 GV 相同),然后構建一個 gv,那么我會得到:

所以上面使用了一個主串列視圖,因此為了擴展子記錄,我確實在串列視圖的子視圖中使用了 GV。
如果您愿意,我可以發布上述作業方式甚至標記。
但是,讓我們使用兩個嵌套的 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]
}
uj5u.com熱心網友回復:
這可能會讓你開始......
GridView gvGV2 = e.Row.FindControl("GV2") as GridView;
gvGV2.DataSource = "..."; //Your DataSource
gvGV2.DataBind();
// or do something else.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/438717.html
