Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Gridview-在集合中绑定集合_C#_.net_Asp.net_Gridview - Fatal编程技术网

C# Gridview-在集合中绑定集合

C# 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

谢谢

听起来您好像在尝试绑定分层集合。根据您的描述,我建议使用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=“仅上周”};
      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>