- PR -

DataGridのリロード処理

1
投稿者投稿内容
ヒフミ
会議室デビュー日: 2004/03/30
投稿数: 16
投稿日時: 2004-04-21 21:27
フォームにDataGridを配置して、そのフォームを読み込む際、取得したデータをDataGridにバインドして表示させています。

5秒間隔でリロードしてDataGridの内容を更新させたいのですが、既に表示されているデータに追加される形でリロードしてしまいます。

そこでDataGridを初期化しなおすと、DataGridコンポーネントを配置した際の初期情報まで消えてしまうようで、何も書かれていない行だけが追加されていきます。

最初に読み込んだDataGridの内容だけをクリアして、再度DataGridにリロードしなおすにはどのように初期化すればよいのでしょうか?

またまた初歩的な質問になってしまいますが、ご教授の程よろしくお願いいたします。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2004-04-21 22:43
やりたいことは分かるが、現状、どう困っているのかがよく分からない。
Windows Forms FAQの4.13のようなことをいっているのかな。
ヒフミ
会議室デビュー日: 2004/03/30
投稿数: 16
投稿日時: 2004-04-22 10:53
引用:

かずくんさんの書き込み (2004-04-21 22:43) より:
やりたいことは分かるが、現状、どう困っているのかがよく分からない。
Windows Forms FAQの4.13のようなことをいっているのかな。



かずくん様

拙い説明で申し訳ありません。

教えていただいた参考サイトを拝見させていただきました。

どうやら最初にDataGridに読み込んだ際に設定していたテーブルスタイルコレクションをクリアしていないのが原因のようでした。
そこで、リロードする際に

table.Clear();         /// テーブルのクリア
table = new DataTable("TABLE") ///テーブルの初期化  
datagridTablestyle.GridColumStyles.Clear();  /// 列スタイルのクリア
dataGrid1.TableStyles.Clear();         ///テーブルスタイルのクリア

をして、テーブルスタイルを設定しなおした(つもり)なのですが、やはり最初に読み込んだデータ内容がクリアされないままに、行が追加される形でリロードされてしまいます。

最初に読み込んだデータ内容をクリアするにはどうしたらよいのでしょうか?
何をクリアしなければいけないのでしょうか・・・。

かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2004-04-22 12:38
コード:
object source = grid.DataSource;
grid.DataSource = null;
grid.DataSource = source;


↑これは、やってみました?

1

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