- - PR -
スクロールを持ったDataGridViewの自動更新について
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