- - PR -
DataGridの行の削除
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-11-08 15:55
現在、データグリッドの行の削除を禁止しており、
行を選択し、削除ボタンを押下時に、 選択行をデータベースより削除し、再表示を行っているのですが、 再表示を行わずに、データベース削除後、グリッド上選択行のみ削除された 状態で表示したいのですが、できるでしょうか? 現在↓のようなコードでやってみてるのですが、 エラーになってしまいます。エラーMSG「テーブル0が見つかりません。」 このやりかたが合ってるのかわかりませんが。。 Dim dstMain As New DataSet() Dim cm As CurrencyManager cm = CType(Me.BindingContext(DataGrid1.DataSource), CurrencyManager) Dim dv As DataView = CType(cm.List, DataView) dv.AllowDelete = True dstMain.Tables(0).Rows(Me.DataGrid1.CurrentRowIndex).Delete() ←☆エラー箇所 'データグリッドに再表示 Me.DataGrid1.SetDataBinding(dstMain, dstMain.Tables(0).TableName) dv.AllowDelete = False |
|
投稿日時: 2006-11-08 17:45
以下で解決しました。
dv.Delete(DataGrid1.CurrentRowIndex) DataGrid1.Refresh() しかし、このあとにデータグリッドの件数を 取得すると↓上記で削除する前の件数を取得していまいます。 最新のデータグリッド情報を取得するにはどうしたらいいでしょうか? Dim dt As DataTable = CType(DataGrid1.DataSource, DataTable) |
|
投稿日時: 2006-11-09 00:43
こんばんは、THREE-ONEです。
DataGrid の行を削除するのではなく、DataSource の行を削除して再度 DataBind してみてはどうですか? |
1