使用datalist将数据显示为组

时间:2013-03-07 11:38:25

标签: c# asp.net datalist

我有一个看起来像这样的数据表..

s.no product categoryno 

1.   product1    1
2.   product2    1
3.   product3    1
4.   Product4    2
5.   Product5    2
6.   product6    2

现在我想将此数据表绑定到数据列表

some tittle:

 product1
 product2
 product3

some tittle:

 product4
 product5
 product6

我需要根据列(如上例中的类别)分隔数据并使用datalist显示它。任何sugessions都将受到赞赏..

注意:产品表示其路径在数据库中的产品的图像..

2 个答案:

答案 0 :(得分:1)

如果您有两个DataTables(根据评论),您可以使用categoryno在两个表之间添加关系,然后将其绑定到Datalist,如下所示。

//Assuming your datatables are in ds (DataSet)

ds.Tables[0].TableName = "Cats";
ds.Tables[1].TableName = "Products";
ds.Relations.Add("children", ds.Tables["Cats"].Columns["categoryno"],
                             ds.Tables["Products"].Columns["categoryno"]);
YourDataList.DataSource = ds;
YourDataList.DataBind();

更新:根据最近的评论,我认为您只需要将行从一个添加到另一个。

foreach(DataRow dr2 in Table2.Rows)
{
   DataRow dr1 = Table1.NewRow(); 
   dr1[0] = dr2[0];
   dr1[1] = dr2[1];
   dr1[2] = dr2[2];
   //... if you have many columns 
   Table1.Rows.Add(dr1);
}
//Bind Table1 here

答案 1 :(得分:0)

    ds.Tables[0].TableName = "Cats";
    ds.Tables[1].TableName = "Products";
    ds.Relations.Add("children",       ds.Tables["Cats"].Columns["categoryno"],ds.Tables["Products"].Columns["categoryno"]);
    YourDataList.DataSource = ds;
    YourDataList.DataBind();