Asp.net

如何將 GridView 綁定到自定義對象?

  • April 1, 2011

如果我有以下 ASP.NET 程式碼(它不完整 - 顯然有很多缺失,但這些都不重要):

   <asp:GridView>
       <Columns>
           <asp:TemplateField>
               <ItemTemplate>
                   My Label: <asp:Label />
               </ItemTemplate>
           </asp:TemplateField>
           <asp:TemplateField>
               <ItemTemplate>
                   My Text Box: <asp:TextBox />
               </ItemTemplate>
           </asp:TemplateField>
       </Columns>
   </asp:GridView>

如果我在 CodeBehind 中有這樣的東西:

Private MyListOfObjects As List(Of MyObject)

...

Public Class MyObject

   Public MyTextBoxString as String
   Public MyLabelString as String

End Class

如何綁定 GridView 以使一行相當於MyListOfObjects列表中的一項,並且數據將在頁面載入或回發之間填充和持續存在?我以前從未做過這樣的自定義數據綁定,所以完整的解釋會很有幫助。到目前為止,我遇到的所有教程都只討論了直接將 GridViews 與數據庫查詢結果一起使用,這不是我需要的。

謝謝!

只需將 gridview 的數據源設置為您的對象。

MyGridView.DataSource = myList
MyGridView.DataBind()

這是一個非常相似的文章:

將返回 List<employee> 的方法綁定到 gridview

看起來您正在使用 vb.net 中的列表。請記住,列表可以包含整數、字元串、日期、對象(這些包括使用者定義的類型(您的對象))。因此,您可以通過將數據源屬性設置為列表來將網格視圖綁定到列表對象。

在上面的範例中,myList 可能包含大量員工對像等。因此,將其分配給數據源,.DataBind()並且瞧,每行都包含您的對象的 gridview。

引用自:https://stackoverflow.com/questions/5517676