コンマ区切りファイルの読み取りとデータのリストビューへの入力-C#

StackOverflow https://stackoverflow.com/questions/163662

  •  03-07-2019
  •  | 
  •  

質問

さて、コンマ区切りのファイルを読み取ってから、それを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の名前はどうすればよいですか

役に立ちましたか?

解決

作成した各配列をループして、新しいListViewItemオブジェクトを作成するだけです(文字列の配列を受け取るコンストラクタがあると思います)。 ListViewItemをListView.Items.Add()メソッドに渡します。

他のヒント

ado.netでcsvファイルをロードできますそしてそれをデータグリッドのデータソースにバインドします。または、 linq for xml ファイルを解析し、それらの結果をデータグリッドのデータソースプロパティにバインドします。

FileHelpers Library を使用してCSVファイルを読み取り、コレクションをListViewにDataBindします。

DelimitedClassBuilderを使用して、ソースファイルの列数に等しいtypeof(string)の列を動的に作成します。

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

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

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

〜S

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top