qJa*_*ake 9 vb.net asp.net data-binding gridview
如果我有以下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>
Run Code Online (Sandbox Code Playgroud)
如果我在CodeBehind中有这样的东西:
Private MyListOfObjects As List(Of MyObject)
...
Public Class MyObject
Public MyTextBoxString as String
Public MyLabelString as String
End Class
Run Code Online (Sandbox Code Playgroud)
如何绑定GridView,以便一行等同于我的MyListOfObjects列表中的一个项目,以便数据将填充并保持跨页面加载或回发?我之前从未做过这样的自定义数据绑定,所以完整的解释会非常有用.到目前为止,我遇到的所有教程都只讨论了使用GridViews直接使用数据库查询结果,这不是我需要的.
谢谢!
只需将gridview的数据源设置为您的对象即可.
MyGridView.DataSource = myList
MyGridView.DataBind()
Run Code Online (Sandbox Code Playgroud)
这是一个非常类似的帖子:
将返回List <employee>的方法绑定到gridview
看起来你正在使用vb.net中的列表.记住列表可以包含整数,字符串,日期,对象(这些包括用户定义的类型(您的对象)).因此,您可以通过将datasource属性设置为列表来将gridview绑定到列表对象.
在上面的示例中,myList可能包含大量的员工对象等.因此,将其分配给数据源,.DataBind()并在每个包含对象的行中使用gridview.