C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■90445 / )  カンマ区切りの文字列をdataGridViewの1行に入れる
□投稿者/ としぞー (4回)-(2019/03/12(Tue) 12:17:16)

分類:[C#] 

またまたDelphiからの移行で悩んでますので宜しくお願い致します。

カンマ区切りの文字列をdataGridViewの1行に入れたいので、
初めは以下のような感じで1セルごと処理しました(コードはどこかのサイトから一部拝借)
  for (int n = 1; n < lines.Count; n++) {
    int gyosu = grid.Rows.Add();
    for (int i = 0; i < head.Length; i++) {
      grid[i, gyosu].Value = d_[i];
    }
  }
 
ですが、セルの数や行数が多くなるとあまりにも遅く、他の書き方が無いか調べて試行錯誤したところ、
以下の方法で速い処理を行えました。
  dataGridView1.ColumnCount = 10;
  string s = "1,2,3,4,5,6,7,8,9,0";
  string[] sr = s.Split(',');
  var list = new List<string>();
  list.AddRange(sr);
  dataGridView1.Rows.Add(list.ToArray());

しかし、これは、
  string を string[] に変換,
  string[] を List<string> に変換
  List<string> を string[] に変換
という手順を経なければならず、面倒というか、分かりにくいというか・・・


一方、今までやっていたDelphiでは以下のようにCommaTextというもので簡単に上記が実現できます。
  s: string;
  StringGrid1.ColCount := 10;
  s := '1,2,3,4,5,6,7,8,9,0';
  StringGrid1.Rows[0].CommaText := s;

これと同じような感じで簡単に書く方法はないでしょうか?

返信 編集キー/


管理者用

- Child Tree -