- - PR -
DataGridの行の削除
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-01-08 20:51
はじめまして。 現在VB.NETを勉強中ですが、ちょっとわからないことが出てきたので、 質問させてください。 DataGridに表示させたデータは行単位で削除できないのでしょうか? ヘルプを見たところ列では消せるようなのですが。 ヘルプからの引用です。 Dim ColumnIndex As Integer = 1 ' Remove the second column Dim myGridColumns As GridColumnStylesCollection myGridColumns = DataGrid1.TableStyles(0).GridColumnStyles myGridColumns.RemoveAt(ColumnIndex) | ||||||||
|
投稿日時: 2004-01-09 15:36
諸農です。
列を見えなくするということと、行を削除するということは 違うと思いますが。 あるデータテーブルからある条件に合致したデータ行を見えなくするようにするには、 DataViewのRowFilterを使えばいいと思います。 あるデータテーブルからある条件に合致したデータ行を削除するには、 DataTableのDataRowCollectionを使って条件に一致するデータロウを 探し出し、そのコレクションをRemove()した後にAcceptChanges()を 行うことになると思います。 ではでは(^^)/ _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||
|
投稿日時: 2004-01-12 14:45
諸農さん、はじめまして。
返事が遅くなってしまい申し訳ございません。 僕がやりたいのは、データテーブルからある条件に合致したデータ行を見えなくしたいのです。 諸農さんに教えていただいた、DataViewのRowFilterを使用してみたところ見えなくするようにできました。 ありがとうございます。 ただ、ここでまた問題が出てきてしまいました。 一度DataGridの行を見えなくさせてから、再度この処理を行った場合「指定されたキャストは有効ではありません」というエラーが出てしまうのです。 調べてみると、最初DataGridのDataSourceがDataSetであったのに、 見えなくさせる処理でDataSourceがDataViewに変わってしまったため DataSetの宣言をしているところで起きてしまっているようです。 DataViewをDataSetに変換(?)するような事はできるのでしょうか? ソースはこのようになっています。 (VB.NET) [DataView] Dim ds As DataSet = CType(DataGrid1.DataSet) '2回目以降ここでエラー Dim data_view As DataView data_view = New DataView(ds.Tables(DataGrid1.DataMember), "column=1","", DataViewRowState.CurrentRows) DataGrid1.DataSource = data_view | ||||||||
|
投稿日時: 2004-01-12 16:42
諸農です。
DataGridのDataSourceに最初からDataViewをセットしておけば解決できると思います。 C#で申し訳ないですが、サンプルです。 Col3の項目値が、TextBoxコントロールに入力された数値と同じ値を持つものを 非表示にしています。
ではでは(^^)/ _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||
|
投稿日時: 2004-01-13 10:10
諸農さん、ありがとうございました。
無事できるようになりました。 | ||||||||
1
