ASP.NET 2.0 – 如何巢狀化GridView控制項 自章立民CnBlogs)

來源:互聯網
上載者:User
ASP.NET 2.0 – 如何巢狀化GridView控制項


圖表
1

 

最近聽到有許多朋友詢問如何以巢狀方式使用GridView控制項,也就是說在GridView控制項中再內含另外一個GridView控制項。我們最近在撰寫ASP.NET AJAX一書時,剛好撰寫了一個這樣的範例,在此與大家分享其關鍵技巧。

 

圖表1所示者是我們所撰寫的網頁範例,從外觀可以看出,我們是以巢狀方式使用GridView控制項。外層的GridView控制項用以顯示產品類別資料(也就是父資料記錄),內層的GridView控制項用以顯示特定類別的各項產品(也就是子資料記錄)。要如何製作這樣的介面呢?關鍵技巧說明如下:

 

q          首先,您必須替外層的GridView控制項加入一個樣版資料行(也就是TemplateField),並於此樣版資料行中加入一個GridView控制項(表2所示),這一個位於樣版資料行中的GridView控制項將成為內層的GridView控制項。

 


圖表
2

 

q          請替外層GridView控制項的RowDataBound事件處理常式撰寫下列程式碼,以便將外層之產品類別資料列的「類別編號」欄位值指派給內層GridView控制項之資料來源之SELECT陳述式的CategoryID參數,如此一來,內層GridView控制項就會顯示出與所在產品類別資料列相關聯的產品資料:

Protected Sub ProductCategoryGridView_RowDataBound( _
 ByVal sender As Object, _
 ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) _
 Handles ProductCategoryGridView.RowDataBound
 If e.Row.RowType = DataControlRowType.DataRow Then
      Dim s As SqlDataSource = _
        CType(e.Row.FindControl("ProductsDataSource"), SqlDataSource)
      Dim r As System.Data.DataRowView = _
        CType(e.Row.DataItem, System.Data.DataRowView)
      s.SelectParameters("CategoryID").DefaultValue = r("類別編號").ToString()
 End If

End Sub

 

本文內容節錄自章立民研究室正在撰寫的「ASP.NET AJAX大解密一書」(書名暫訂)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.