- PR -

スクロールを持ったDataGridViewの自動更新について

1
投稿者投稿内容
みい
会議室デビュー日: 2008/02/13
投稿数: 1
投稿日時: 2008-02-13 18:35
WindowsXPでVisualStudio2005のC#を使って開発を行っています。
DataGridViewを、ある一定時間おきに自動更新しているのですが、
マウスでスクロールバーの「▼」を押し続けてスクロールしている最中に
ちょうど自動更新が走ると、スクロールバーの「▼」が消えて、
DataGridViewのサイズがマウスドラッグで変更されてしまうという現象が
起こってしまいます。
どなたか対策をご教授願います。

<<タイマーにより更新している部分のソース>>
private void timer1_Tick(object sender, EventArgs e)
{
w_Log = Log.Log_Initial("timer1_Tick", prog_id);
try
{
//画面表示
GV_Refresh();
}
catch (Exception ex)
{
//エラーメッセージ
MessageBox.Show("関数名:" + "timer1_Tick\n" +
"メッセージ:" + ex.Message, "エラー");
return;
}
}

public void GV_Refresh()
{
string w_sql;
SqlConnection cn;
SqlDataAdapter dtAdp;
DataSet dtSet = new DataSet();
DataView dtVw = new DataView();

try
{
w_sql = "";
w_sql += " SELECT A, B, C, D ";
w_sql += " FROM T_TEST ORDER BY A ";

w_DB.Open();
//-------データセットを使用-----------------------------------------
cn = w_DB.Get_sConn; //DBオープンのコネクション取得

    //DBの更新に使用される、データ コマンドおよびDB接続の初期化
dtAdp = new SqlDataAdapter(w_sql, cn);
//データセットに格納
dtAdp.Fill(dtSet, "T_TEST");
dtVw.Table = dtSet.Tables["T_TEST"]; //dataviewにdatasetを設定
gvActionRec.DataSource = dtVw; //DataGridViewのDataSourceを設定

dtSet.Dispose();
dtAdp.Dispose();
w_DB.Close();
}
catch (Exception ex)
{
//エラーメッセージ
MessageBox.Show("関数名:" + "GV_Refresh\n" +
"メッセージ:" + ex.Message, "エラー");
return;
}
}

1

スキルアップ/キャリアアップ(JOB@IT)