这个方法是目前我知道的最好的绑定嵌套的GridView方法了。
后台用Linq查询数据库 返回List。
<asp:GridView ID="KDSP0401GV1" runat="server" DataSourceID="obd1" AutoGenerateColumns="False" DataKeyNames="productid" > <Columns> <asp:BoundField DataField="id" HeaderText="产品ID" /> <asp:BoundField DataField="name" HeaderText="产品名"/> <asp:TemplateField> <ItemTemplate> <asp:GridView ID="GridView1" runat="server" DataSource='<%# Eval("cars") %>'> </asp:GridView> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> <asp:ObjectDataSource ID="obd1" runat="server" TypeName="UserService" SelectMethod="getUser" DataObjectTypeName="User" > </asp:ObjectDataSource>
这个是 UserService 里的代码
[DataObjectMethod(DataObjectMethodType.Select)] public IList<User> getUser() { return productDao.getUser(); }
User类里 包含一个
private Car的List<Car> cars;
页面
<asp:GridView ID="GridView1" runat="server" DataSource='<%# Eval("cars") %>'> </asp:GridView>
部分可以直接将这个list 绑定到 内部的 GridView中。