DataGridViewを使った検索データの表示と削除 [DataGridView]

----------------------------------------------------------
(開発・実行環境)

Microsoft Visual Studio 2005 Tools for Applications

Microsoft Visual Basic 2005
----------------------------------------------------------

(課題)

DataGridViewにDBの検索結果を表示する。

また、それをクリアする。

 

(解決法)

DB内の検索データをDataGridViewに表示する際、

DataSourceを使わずに行なった。

DataSourceを当ててる場合は、DataSourceをClearか何か

すれば良いらしいけど。 

 

表示は、検索結果の入ったDataSetを一度配列に入れて、

その配列内のデータを行毎にDataGridViewに流す。

(配列はDataGridViewのColumn数を要素数とする)

 これを行数回分まわす。

(グリッドのColumu数が検索結果の列の数と違う場合は1列ずつ入れました。。)

 

削除する場合は一気にClearできなかったので、

行数を数えて、その回数分行削除処理をまわす。

 

ちなみにこのとき使ったメソッドは、

「DataGridView.Rows.RemoveAt()」。

DataGridView.Rows.Remove()じゃダメやった。。

行を”コレクション”から削除するメソッドなんだけど、

うまく全行消えてくれず。。。

たぶん、消した分だけコレクションが変化した(行数が減った)からだと思うけど。。

(しかし、コレクションってなんかいまいちピンとこん。。。)

ちなみに以下が”上手くいかなかった”ソース。。

 

(p_GrdはDataGridViewのオブジェクト)

 'グリッドの行数の取得
        Dim rowCnt As Integer = p_Grd.Rows.Count

        行の削除()
        For Each row As DataGridViewRow In p_Grd.Rows
            If row.Cells(0).Value.ToString IsNot Nothing Then
                p_Grd.Rows.Remove(row)
            End If
        Next

 

 

行の位置を指定して削除する「RemoveAt()」メソッドを使いましたとさ。

 

ちなみにグリッドデータを削除する場合は下から(行番号の大きい方から)消すよう注意!

消してったら行数減ってくからね。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

タブオーダーDataGridViewのイベント ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。