// 見出しをdatagridviewに入力
foreach (string str in Columns)
{
dataGridView1.Columns.Add(str, str);
}
// 中身を入力 (行を繰り返し入力していく。)
int nColmn = 0;
Dictionary 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;
}
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 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;
0 件のコメント:
コメントを投稿