使用List <list <string>&gt; </list <string>填充列表视图

时间:2013-12-01 21:45:19

标签: c#

我在C#编码,我有一个列表视图控件,列数很少,我想知道如何从List<List<string>>添加项目。我可以使用

添加项目
var item3 = new ListViewItem(new[] { table[0][0], table[0][1], table[0][2], table[0][3], table[0][5], table[0][7], table[0][8] });

但这对我来说似乎不对,而且它也不会起作用,因为列表的数量是随机的。

3 个答案:

答案 0 :(得分:0)

您可以使用List<T>.ToArray将列表转换为数组,然后将其传递给ListViewItem的构造函数。因为你只对你桌子的第一个子项目感兴趣,你可以这样做:

var item3 = new ListViewItem(table[0].ToArray());

答案 1 :(得分:0)

您可以使用以下代码将List<List<string>>填入ListView

listView1.Items.AddRange(table.Select(list=>new ListViewItem(list.ToArray())))
               .ToArray();

答案 2 :(得分:0)

可能你的意思是这样的?

示例数据

ITEM1

List<string> list1 = new List<string>();
list1.Add("item-1.1");
list1.Add("item-1.2");

ITEM2

List<string> list2 = new List<string>();
list2.Add("item-2.1");
list2.Add("item-2.2");

allitem

List<List<string>> listAll = new List<List<string>>();
listAll.Add(list1);
listAll.Add(list2);

字符串值

string sResult = string.Join(", ", from list in listAll from item in list select item);

列表值

List<string> lResult = new List<string>(from list in listAll from item in list select item);

<强>结合

lv.DataSource = lResult;
lv.DataBind();

<强>结果

  

item-1.1 item-1.2 item-2.1 item-2.2