|
分類:[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;
これと同じような感じで簡単に書く方法はないでしょうか?
|