之前我已经完成了gridviews,我从数据安全阅读器绑定所有SQL数据或指定列名并在javascript级别绑定。这有点不同,我对如何进行感到有点困惑。
我有一个处理所有SQL数据查询的业务类。
调用此类以获取LIST。此列表包含集合和子集合。
var _InfoList = BusinessObjectClass.Get(_CriteriaKey);
我可以这样访问列表: -
Txtbox1.Text = _InfoList.ID#.ToString();
现在我尝试将LIST中的一个集合绑定到gridview。: -
C#:-
gvwMembers.DataSource = _InfoList.Members;
gvwMembers.DataBind();
会员是集合......
但是这种语法不会给gridview添加任何东西...... gridview是空的。
第二种方法: -
我也尝试过这样的事情: -
List<BusinessObjectClass> Members = new List<BusinessObjectClass>();
Members = _InfoList.Members;
gvwVendors.DataSource = Members;
gvwVendors.DataBind();
但无济于事......这是因为问题在于第二个陈述: -
Members = _InfoList.Members
....这不是有效的任务......任何人都可以帮忙吗?
答案 0 :(得分:1)
在充实注释中的一些细节之后,拥有一个没有定义列的简单GridView是完全没问题的,但要确保AutoGenerateColumns
不是假的。默认值为true。这将根据绑定对象的每个属性为您创建一列。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true">
</asp:GridView>
为了选择要显示的属性,请在<Columns>
部分中定义它们。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Property1" HeaderText="Property1" />
<asp:TemplateField HeaderText="Property2">
<ItemTemplate>
<asp:Label ID="lblProperty2" runat="server" Text='<%# Eval("Property2") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>