- PR -

dataGridViewへの構造体配列の渡し方について

1
投稿者投稿内容
未記入
会議室デビュー日: 2007/08/28
投稿数: 18
投稿日時: 2007-09-24 16:39
VS2005のC++/CLIを使用しています。

現在、dataGridViewに1行ずつデータを渡して一覧表を
作成しています。
しかし、行データが多すぎるので、出来ましたら、構造体
の配列データを1回で渡したいのですが、どなたか御教授
下さい。

下に例として、現状の処理を記述します。(3行分だけ)

  // 構造体
  ref struct LIST_D
  {
    String^ name;  // 名前
    String^ address; // 住所
    String^ tel;     // Tel
  };
  array<LIST_D^>^ ld;


  ld[ 0 ]->name  = "田中";
  ld[ 0 ]->address = "東京都";
  ld[ 0 ]->tel     = "03-12345";

  ld[ 1 ]->name  = "佐藤";
  ld[ 1 ]->address = "大阪府";
  ld[ 1 ]->tel     = "06-12345";

  ld[ 2 ]->name  = "高木";
  ld[ 2 ]->address = "青森県";
  ld[ 2 ]->tel     = "08-12345";

  // 行数分ループ
  for(int cnt=0; cnt<3; cnt++){

    // 行データ作成
    array<Object^>^ ddd = { ld[ cnt ]->name,
                          ld[ cnt ]->address,
                          ld[ cnt ]->tel
                         };

    // データグリッドに追加
    dataGridView1->Rows->Add( ddd );
  }
yos
常連さん
会議室デビュー日: 2004/08/24
投稿数: 27
投稿日時: 2007-09-25 17:26
C++ はわからないのですが、

構造体配列をもとに System.Collections.Generic.List<LIST_D> を生成して
dataGridView1 の DataSource に指定後、DataBind してはいかがでしょう?


[ メッセージ編集済み 編集者: yos 編集日時 2007-09-25 17:28 ]
未記入
会議室デビュー日: 2007/08/28
投稿数: 18
投稿日時: 2007-09-26 17:04
>yosさん

ご回答ありがとうございます。

C++/CLIでの書き方でわからない部分があるので、
現段階では、保留させて頂きます。
提案頂いた内容だと、出来そうな感じはしました。

現状処理時間は、30分かかっているのですが、よく
見ると、25分が他の処理で、dataGridView設定の
ループは5分しか使っていなかったので、ここを変更
した所であまり変わらないので、そのままで行きます。

落ち着いたら、他で使う為に、勉強しながら試して
みたいと思います。どうも有難う御座いました。
また何かありましたら、宜しく御願い致します。
1

スキルアップ/キャリアアップ(JOB@IT)