ウェブサイトからスクラッププログラムをやっています。datagridviewに情報を更新するためのスレッドがたくさんあります。データセットを使用して、バインディングソースをdatagridviewに設定しています。約100k行挿入したとき。GUIプログラムに「応答していません」と表示されます。どうやって解決したらいいのかわからない。これは挿入する私の代理人です:
public void InsertLine(string line)
{
this.MyDV.BeginInvoke(new MethodInvoker(delegate()
{
string[] park = Regex.Split(line, @",");
try
{
//Insert new row
MyDatasset.MyTableRow row = this.MyDataSet.MyTable.NewMyTableRow();
row.Message = park[0].Trim();
row.From = park[1].Trim();
this.MyDataSet.MyTable.Rows.Add(row);
//Set color text for new row
DataGridViewRow myrow = (from DataGridViewRow r in MyDV.Rows
where (long)r.Cells[clId.Name].Value == row.Id
select r).FirstOrDefault();
if (myrow != null)
{
myrow.Cells[clFrom.Name].Style.ForeColor = Color.Blue;
myrow.Cells[clMessage.Name].Style.ForeColor = Color.Blue;
}
}
catch { }
try
{
this.MyDV.FirstDisplayedScrollingRowIndex = this.MyDV.Rows[this.MyDV.Rows.Count - 2].Index; //Scroll to lastest row
}
catch { }
})); }
助けてくれませんか?私はそれと何時間も混乱しています。前もって感謝します。