C# Gridview-在集合中绑定集合
谢谢听起来您好像在尝试绑定分层集合。根据您的描述,我建议使用ListView而不是GridView。您将对数据的显示获得更多的控制和灵活性。但是,您可以选择,下面的代码可以很容易地修改,以便在GridView中使用 代码将生成以下结构: ASPXC# Gridview-在集合中绑定集合,c#,.net,asp.net,gridview,C#,.net,Asp.net,Gridview,谢谢听起来您好像在尝试绑定分层集合。根据您的描述,我建议使用ListView而不是GridView。您将对数据的显示获得更多的控制和灵活性。但是,您可以选择,下面的代码可以很容易地修改,以便在GridView中使用 代码将生成以下结构: ASPX G1_Name P1_Name P1_Details P2_Name P2_Details G2_Name P3_Name P3_Details P4_Name P4_Detai
G1_Name
P1_Name P1_Details
P2_Name P2_Details
G2_Name
P3_Name P3_Details
P4_Name P4_Details
-详情:
C#
公共类部分
{
公共列表组列表{get;set;}
}
公共课组
{
公共列表productList{get;set;}
public int GroupID{get;set;}
公共字符串组名{get;set;}
}
公共类产品
{
public int ProductID{get;set;}
公共字符串ProductName{get;set;}
公共字符串ProductDetails{get;set;}
}
Section Section=newsection{groupList=newlist()};
Group Group=new Group{GroupID=1,GroupName=“FROUTS”,productList=new List()};
Product Product=新产品{ProductID=1,ProductName=“苹果”,ProductDetails=“待售”};
group.productList.Add(产品);
product=新产品{ProductID=2,ProductName=“Oranges”,ProductDetails=“Not on Sale”};
group.productList.Add(产品);
产品=新产品{ProductID=3,ProductName=“Pears”,ProductDetails=“大额销售”};
group.productList.Add(产品);
product=新产品{ProductID=4,ProductName=“Grapes”,ProductDetails=“Not on Sale”};
group.productList.Add(产品);
节.groupList.Add(组);
group=newgroup{GroupID=2,GroupName=“蔬菜”,productList=newlist()};
product=新产品{ProductID=5,ProductName=“Carrots”,ProductDetails=“未出售”};
group.productList.Add(产品);
product=新产品{ProductID=6,ProductName=“芹菜”,ProductDetails=“仅上周”};
group.productList.Add(产品);
product=新产品{ProductID=7,ProductName=“Eggplant”,ProductDetails=“大额销售”};
group.productList.Add(产品);
product=新产品{ProductID=8,ProductName=“Oniones”,ProductDetails=“N/A”};
group.productList.Add(产品);
节.groupList.Add(组);
group=newgroup{GroupID=3,GroupName=“Meat”,productList=newlist()};
product=新产品{ProductID=9,ProductName=“Beef”,ProductDetails=“On Sale”};
group.productList.Add(产品);
product=新产品{ProductID=10,ProductName=“Pork”,ProductDetails=“返回两周”};
group.productList.Add(产品);
product=新产品{ProductID=11,ProductName=“Chicken”,ProductDetails=“On sale”};
group.productList.Add(产品);
product=新产品{ProductID=12,ProductName=“Turkey”,ProductDetails=“Going fast”};
group.productList.Add(产品);
节.groupList.Add(组);
listView.DataSource=section.groupList;
DataBind();
}
听起来您好像在尝试绑定分层集合。根据您的描述,我建议使用ListView而不是GridView。您将对数据的显示获得更多的控制和灵活性。但是,您可以选择,下面的代码可以很容易地修改,以便在GridView中使用
代码将生成以下结构:
ASPX
G1_Name
P1_Name P1_Details
P2_Name P2_Details
G2_Name
P3_Name P3_Details
P4_Name P4_Details
-详情:
C#
公共类部分
{
公共列表组列表{get;set;}
}
公共课组
{
公共列表productList{get;set;}
public int GroupID{get;set;}
公共字符串组名{get;set;}
}
公共类产品
{
public int ProductID{get;set;}
公共字符串ProductName{get;set;}
公共字符串ProductDetails{get;set;}
}
Section Section=newsection{groupList=newlist()};
Group Group=new Group{GroupID=1,GroupName=“FROUTS”,productList=new List()};
Product Product=新产品{ProductID=1,ProductName=“苹果”,ProductDetails=“待售”};
group.productList.Add(产品);
product=新产品{ProductID=2,ProductName=“Oranges”,ProductDetails=“Not on Sale”};
group.productList.Add(产品);
产品=新产品{ProductID=3,ProductName=“Pears”,ProductDetails=“大额销售”};
group.productList.Add(产品);
product=新产品{ProductID=4,ProductName=“Grapes”,ProductDetails=“Not on Sale”};
group.productList.Add(产品);
节.groupList.Add(组);
group=newgroup{GroupID=2,GroupName=“蔬菜”,productList=newlist()};
product=新产品{ProductID=5,ProductName=“Carrots”,ProductDetails=“未出售”};
group.productList.Add(产品);
product=新产品{ProductID=6,ProductName=“芹菜”,ProductDetails=“Las
<asp:ListView runat="server" ID="listView">
<LayoutTemplate>
<ul><asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder></ul>
</LayoutTemplate>
<ItemTemplate>
<li><%# Eval("GroupName") %>
<asp:ListView runat="server" DataSource='<%# Eval("productList")%>'>
<LayoutTemplate>
<ul><asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder></ul>
</LayoutTemplate>
<ItemTemplate>
<li><%# Eval("ProductName") %> - Details: <%# Eval("ProductDetails") %></li>
</ItemTemplate>
</asp:ListView>
</li>
</ItemTemplate>
</asp:ListView>
public class Section
{
public List<Group> groupList { get; set; }
}
public class Group
{
public List<Product> productList { get; set; }
public int GroupID { get; set; }
public string GroupName { get; set; }
}
public class Product
{
public int ProductID { get; set; }
public string ProductName { get; set; }
public string ProductDetails { get; set; }
}
Section section = new Section { groupList = new List<Group>() };
Group group = new Group { GroupID = 1, GroupName = "Fruits", productList = new List<Product>() };
Product product = new Product { ProductID = 1, ProductName = "Apples", ProductDetails = "On Sale" };
group.productList.Add(product);
product = new Product { ProductID = 2, ProductName = "Oranges", ProductDetails = "Not on Sale" };
group.productList.Add(product);
product = new Product { ProductID = 3, ProductName = "Pears", ProductDetails = "Big Spender Sale" };
group.productList.Add(product);
product = new Product { ProductID = 4, ProductName = "Grapes", ProductDetails = "Not on Sale" };
group.productList.Add(product);
section.groupList.Add(group);
group = new Group { GroupID = 2, GroupName = "Vegetables", productList = new List<Product>() };
product = new Product { ProductID = 5, ProductName = "Carrots", ProductDetails = "Not on Sale" };
group.productList.Add(product);
product = new Product { ProductID = 6, ProductName = "Celery", ProductDetails = "Last week only" };
group.productList.Add(product);
product = new Product { ProductID = 7, ProductName = "Eggplant", ProductDetails = "Big Spender Sale" };
group.productList.Add(product);
product = new Product { ProductID = 8, ProductName = "Oniones", ProductDetails = "N/A" };
group.productList.Add(product);
section.groupList.Add(group);
group = new Group { GroupID = 3, GroupName = "Meat", productList = new List<Product>() };
product = new Product { ProductID = 9, ProductName = "Beef", ProductDetails = "On Sale" };
group.productList.Add(product);
product = new Product { ProductID = 10, ProductName = "Pork", ProductDetails = "Back for two weeks" };
group.productList.Add(product);
product = new Product { ProductID = 11, ProductName = "Chicken", ProductDetails = "On sale" };
group.productList.Add(product);
product = new Product { ProductID = 12, ProductName = "Turkey", ProductDetails = "Going fast" };
group.productList.Add(product);
section.groupList.Add(group);
listView.DataSource = section.groupList;
listView.DataBind();
}
<asp:GridView ...>
<Columns>
<asp:TemplateField ...>
<ItemTemplate>
<asp:Repeater ... DataSource='<%# Eval("ProductList")) %>'>
<ItemTemplate>
... controls bound to Product properties
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>