- 題名: DataSet DataView DataRowについて
- 日時: 2004/11/20 3:07:06
- ID: 7538
- この記事の返信元:
- (なし)
- この記事への返信:
- [7544] Re[1]: DataSet DataView DataRowについて2004/11/20 13:00:32
- ツリーを表示
(私はW2k上のFW1.1の環境です。) 私の環境では問題なく動作します。 ビューに設定したフィルタは空ですか。 指定しているのでしたら、誤りはありませんか。 以下のコードはどうなります? Private dt As New DataTable Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _Handles Button1.Click Dim rw As DataRow rw = dt.NewRow rw("a") = "b" rw.EndEdit() Dim v As New DataView(dt, "", "", DataViewRowState.CurrentRows) dt.Rows.Add(rw) 'Me.DataGrid1.DataSource = v '対象は変わらないのでしなくても一緒。 Dim vr As DataRowView vr = v.AddNew vr("a") = "c" vr.EndEdit() 'Me.DataGrid1.DataSource = v '対象は変わらないのでしなくても一緒。 End Sub Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load dt.Columns.Add("a", System.Type.GetType("System.String")) Dim rw As DataRow rw = dt.NewRow rw("a") = "a" rw.EndEdit() Dim v As New DataView(dt, "", "", DataViewRowState.CurrentRows) dt.Rows.Add(rw) Me.DataGrid1.DataSource = v End Sub
分類:[.NET]
<環境>
【Windowsフォーム】
【VB.NET】
【.NET Framework1.1】
【VisualStudio2003】
<質問内容>
SQLデータアダプターのFillメソッドにて作成された
DataSetのDataTableへ行の追加します。
追加された行を含めDataViewで行の抽出を行い、
DataViewをDataGridへ表示をします。
このときはDataGridに表示されます。
次にDataViewに対して行の追加を行い
再度DataViewをDataGridへ表示しようとすると
DataGridは何も変化がありません。
以下が記述した内容になります。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dim Row As DataRow
Dim tbl As DataTable
Dim View as DataView
Dim ViewRow As DataRowView
.
.
.
sqlDataAdapter.Fill(データセット)
tbl = データセット.Tables("テーブル名")
' 新しい行を追加
Row = tbl.NewRow()
Row(0) = "AAAAA"
.
.
.
tbl.Rows.Add(Row)
' Viewで抽出
View = New DataView(データセット.Tables("テーブル名", "式" ,"ソート", DataViewRowState.CurrentRows)
' データグリッドへ表示
データグリッド.DataSource = View
' ビューへ行を追加
View.AllowNew = True
ViewRow = View.AddNew
ViewRow(0) = "BBBB"
.
.
.
' 追加確定
ViewRow.EndEdit()
' データグリッドへ表示
データグリッド.DataSource = View
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
データセットのRowStateの状態を確認したところ、DataTableへ追加した場合、
DataViewにて追加した場合の両者ともADDEDでした。
DataViewへ追加後DataGridに表示されないのはなぜでしょうか。。。
ご教授、または上記内容のご指摘をいただきたいと思います。
長文になってしまいましたが、なにとぞよろしくお願いします。