2013-03-07 3 views
0

У меня есть DataTable, который выглядит следующим образом ..Отображение данных как группы с использованием DataList

s.no product categoryno 

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

Теперь я хочу, чтобы связать эту DataTable к DataList, как

some tittle: 

product1 
product2 
product3 

some tittle: 

product4 
product5 
product6 

Мне нужно отделить данные в соответствии с колонкой (например, категория в приведенном выше примере) и отображать ее с использованием datalist. Будет оценено все sugessions.

ПРИМЕЧАНИЕ: Продукт обозначает изображение продукта, путь которого находится в базе данных ..

+0

Я думаю, это было бы легко, если вы могли бы сделать запрос на выборку к базе данных для 'получить данные, как ожидается, ваш DataTable', а затем привязать к одному DataList. – Kaf

+0

@Kaf У меня уже есть данные отдельно для категорий. – smith269

ответ

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(); 

UPDATE: в соответствии с последними комментариями я думаю, вам просто нужно добавить строки из одной в другую.

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 
+0

Что делать, если не использовать набор данных .. – smith269

+0

Его не работает человек .. – smith269

+0

Если вы используете 'DataTables', вы можете легко использовать' DataSet' для построения отношений. Это должно работать. 'categoryno' должен быть доступен в обеих таблицах, а если нет, следует заменить соответствующие (связанные) имена столбцов. – Kaf

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(); 
+0

Хорошая статья .... – shahnawaz

Смежные вопросы