在asp.net中可以数据到列表 [英] Datatable to List in asp.net

查看:61
本文介绍了在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆