在asp.net中可以数据到列表 [英] Datatable to List in asp.net
问题描述
大家好,
我有一个数据表,其中有很多行都是这种格式
Id Itemset
1啤酒,芒果,尿布,薄饼
2瓶,笔记本电脑,鼠标,键盘
以这种方式..
现在我想将这个数据表转换成列表
即我将在我的列表中有唯一的项目集。它们将是
as:
1.啤酒
2.芒果
3.尿布>
4.晶圆
5.瓶
6.笔记本电脑
7.鼠标
8键盘等..
i希望列表与数据表项一样
即list.add(new string(1, 2,3,4)
list.add(新字符串(5,6,7,8)
请帮我解答如何为了达到这个目的。
谢谢和问候,
Krunal Panchal
Hi everyone,
I have one datatable in which there are many rows in this format
Id Itemset
1 beer,mango,diaper,wafers
2 bottle,laptop,mouse,keyboard
in this way..
Now i want to convert this datatable into list
i.e i will have unique itemset in my list. and they will be
as :
1. beer
2. mango
3. diaper
4. wafers
5. bottle
6. laptop
7. mouse
8. keyboard etc..
i want the list to be as according to the datatable items
i.e. list.add (new string(1,2,3,4)
list.add(new string(5,6,7,8)
please help me out how to achieve this.
Thanks & Regards,
Krunal Panchal
推荐答案
这应该做你需要的。我已经使用了HashSet而不是你提到的列表,你想要一个独特的项目集,这将是一个不是列表的集合
This should do what you need. I''ve used the HashSet instead of a list as you mentioned you wanted the unique itemset, which would be a set not a list
// Example Table
DataTable tblItems = new DataTable("MyItems");
tblItems.Columns.Add(new DataColumn("Id", typeof(string)));
tblItems.Columns.Add(new DataColumn("Itemset", typeof(string)));
// Add the sample rows
tblItems.Rows.Add(new object[] { 1, "beer,mango, diaper, wafers"});
tblItems.Rows.Add(new object[] { 2, "bottle,laptop,mouse,keyboard" });
// As you want the unique items why not use a hashset instead of a list
HashSet<string> items = new HashSet<string>();
// Getting the row data into the set
foreach (DataRow dr in tblItems.Rows)
{
var itemSet = dr["Itemset"].ToString().Split('','').ToList();
itemSet.ForEach(i =>
{
if (!string.IsNullOrEmpty(i))
items.Add(i.Trim());
});
}
// Output the unique items
for (int i = 0; i < items.Count; i++ )
{
Console.WriteLine(string.Format("{0} - {1}", i+1, items.ElementAt(i)));
}
hi krunalpanchalN,
试试这个代码..
hi krunalpanchalN,
Try this code..
var fromDataTable = (from K in ((from DataRow c in dt.Rows select c).SelectMany(T => T["name"].ToString().Split(',').ToArray())) select new { Itemset = K });
var test = fromDataTable.Select((fromDataTableNew, ee) => new { Id = ee + 1, Itemset = fromDataTableNew.Itemset });
grdnew.DataSource = test;
grdnew.DataBind();
这篇关于在asp.net中可以数据到列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!