- - PR -
DataGridでフォーカスがある行のすぐ下に同じデータを持つ行を挿入する方法
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-03-09 19:33
こんにちは!
現在、VB.Netを使い、フォームアプリケーションを作成中です。 DBのテーブルから抽出したテーブルをDataGridを用いて表示しています。 そこで、機能として、DataGridのフォーカスがある行と同じデータを持つ新しい行をすぐ下(次の行番号)に挿入しようとしています。 何回か挿入していきますと、次のようなエラーが出ます. ・追加操作をしていないのにDataGrid上のセルをクリックするだけで、新しい行が追加されてしまう。(追加はデータグリッドの外(フォーム上)のボタンをクリックして実行) ・InsertAtを使うとエラーがでます。(ちなみにAddを使うとエラーがおきません) '------------------------------------ 'Me.dtTableにはデータを抽出して格納しています。 Private Sub Btn_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Btn.Click InsertDataLine() end sub Private Sub InsertDataLine() Dim row As DataRow Dim srcRow As Object row = Me.dtTable.NewRow Dim bmg As BindingManagerBase bmg = Me.BindingContext(Me.DataGrid1.DataSource) srcRow = bmg.Current Dim viewRow As DataRowView viewRow = CType(srcRow, DataRowView) row("CD") = viewRow("CD") Me.dtTable.Rows.InsertAt(row, bmg.Position + 1) 'これをしないと追加された行はDataGridの最後に表示されてしまいます。 Me.dtTable.AcceptChanges() DataGrid1.SetDataBinding(Me.dtTable, "") End Sub '---------------------------------- これでは、分かりにくいかも知れませんが、アドバイスをお願いします。 (本当に困っています。)TT | ||||||||
|
投稿日時: 2006-03-12 20:09
これは、エラーが表示される、訳ではないですよね? 追加されるセルに、規則はありますか? または、処理されていないイベントが残っているとか。
ソースコード上で、どんなことをしようとしているときに、どういう例外が発生しますか? これだと InsertAt メソッドで冷害が発生しているようにも読めるし、InsertAt を使うと、「追加操作をしていないのにDataGrid上のセルをクリックするだけで、新しい行が追加されてしまう。」とも読めます。 〆 written by Jitta@わんくま同盟 on 2006/03/12 |
1