- // 見出しをdatagridviewに入力
- foreach (string str in Columns)
- {
- dataGridView1.Columns.Add(str, str);
- }
- // 中身を入力 (行を繰り返し入力していく。)
- int nColmn = 0;
- Dictionary<string, string[]=""> dict;</string,>
- dict = cdate.GetData();
- foreach (string key in dict.Keys)
- {
- // 文字列をgridviewに登録。
- string[] strtmp = new string[dict[key].Length];
- for ( int i = 0; i < dict[key].Length; i++)
- {
- strtmp[i] = dict[key][i].str;
- }
- dataGridView1.Rows.Add(strtmp);
- }
ですが、データの行数が2万ぐらいになったら、めちゃくちゃおそくなってしまい。。。
なので、DataTableにデータをつくっておいて、その後DataGridViewのDatasourceとして
登録するようにしたらだいぶよくなりました。
- // 見出しをdatagridviewに入力
- DataTable dt = new DataTable();
- foreach (string str in Columns)
- {
- dt.Columns.Add(str, str.GetType());
- }
- // 中身を入力 (行を繰り返し入力していく。)
- int nColmn = 0;
- Dictionary<string, string[]=""> dict;
- dict = cdate.GetData();
- foreach (string key in dict.Keys)
- {
- // 文字列をgridviewに登録。
- string[] strtmp = new string[dict[key].Length];
- for (int i = 0; i < dict[key].Length; i++)
- {
- strtmp[i] = dict[key][i].str;
- }
- dt.Rows.Add(strtmp);
- }
- dataGridView1.DataSource = dt;
- </string,>
0 件のコメント:
コメントを投稿