1

好吧,我正在尝试读取一个逗号分隔的文件,然后将其放入 ListView (或任何网格,真的)。我已经处理了工作的定界部分,文件的字段被放入多维字符串数组中。问题是试图将其放入 ListView。

似乎没有真正的动态添加列或项目的方法,因为每个列和项目都需要手动声明。这带来了一个问题,因为我需要 ListView 与文件一样大,而没有设置谁的大小。一次可能很大,一次可能很小。

对此的任何帮助将不胜感激。


回应杰弗里的回答。

我会这样做,但我遇到的问题是一个基本问题。如何在不命名它们的情况下创建这些对象。菜鸟问题,但遗憾的是,对我来说是个问题。这就是我到目前为止所拥有的。

int x = 0;
int y = 0;
while (y < linenum)
{
    while (x < width)
    {
        ListViewItem listViewItem1 = new ListViewItem(list[y,x]);
        x++;
    }
    y++;
    x = 0;
}

listViewItem1的名字该怎么办?

4

5 回答 5

1

只需遍历您创建的每个数组并创建一个新的 ListViewItem 对象(我相信有一个构造函数接受一个字符串数组)。将 ListViewItem 传递给 ListView.Items.Add() 方法。

于 2008-10-02T17:54:06.447 回答
1

您可以使用 ado.net 加载 csv 文件并将其绑定到 datagrids 数据源。或者您可以使用linq for xml来解析文件并将这些结果绑定到数据网格的数据源属性。

于 2008-10-02T18:02:58.437 回答
1

我将使用FileHelpers 库读取 CSV 文件,然后将集合 DataBind 到 ListView。

使用 DelimitedClassBuilder 动态创建 typeof(string) 等于源文件中的列数的列。

使用您创建的 RecordClass 将 CSV 文件加载到 DataTable 中,然后将 ListView.DataSource 设置为 DataTable。

于 2008-10-02T18:16:56.860 回答
1

Linq 转 CSV

于 2008-10-02T18:29:36.580 回答
0

您是否有不能使用 DataTable 的原因?使用它的 DataSource 成员。

另外,我希望您使用的是 String.Split 函数,而不是手动解析...

~S

于 2008-10-02T18:47:26.817 回答