1

わかりました、カンマ区切りのファイルを読み取って、それを ListView (または実際には任意のグリッド) に入れようとしています。ファイルのフィールドを多次元文字列配列に配置して、ジョブの区切り部分を処理しました。問題は、それを ListView に取り込もうとしていることです。

各列と項目を手動で宣言する必要があるため、列または項目を動的に追加する実際の方法はないようです。ListView をファイルと同じ大きさにする必要があり、サイズが設定されていないため、これは問題を引き起こします。ある時は大きく、別の時は小さいかもしれません。

これについての助けをいただければ幸いです。


ジェフリーの答えに応えて。

私はまさにそれをしますが、私が遭遇している問題は基本的なものです。名前を付けずにこれらのオブジェクトを作成するにはどうすればよいですか。Noobie の質問ですが、残念ながら私にとっては問題です。これは私がこれまでに持っているものです。

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 Libraryを使用して CSV ファイルを読み取り、コレクションを ListView に DataBind します。

DelimitedClassBuilder を使用して、ソース ファイル内の列数と同じ typeof(string) を持つ列を動的に作成します。

作成した RecordClass を使用して CSV ファイルを DataTable に読み込み、ListView.DataSource を DataTable に設定します。

于 2008-10-02T18:16:56.860 に答える
1

CSVへのLinq

于 2008-10-02T18:29:36.580 に答える
0

DataTable を使用できない理由はありますか? それから DataSource メンバーを使用します。

また、手動で解析するのではなく、String.Split 関数を使用していることを願っています...

~S

于 2008-10-02T18:47:26.817 に答える