- - PR -
バインドされたDataGridViewにプログラムで決まった内容の行を追加したい。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-10-05 09:37
WindowsXP、VB2005EE Access2003 でWindowsアプリケーションを開発中です。
DataSourceにバインドにプログラムで決まった内容の行を追加したいのですが、 BindingSource.AddNew() やDataGridView.AllowUserToAddRows = True の使い 方が悪いのか、うまく動作してくれません。そこでテスト用プロジェクトに次 のような実験を繰り返しています。 あるDataSourceにバインドされたDataGridViewがあります。このDataGridView1 にボタンを押すごとに、あらかじめ定められた内容のレコード行を追加させたく、 Button1のハンドラーに次の通り記述しました。 ※あらかじめ定められた内容はRoX - 1とRoXとしています。 うまくいかない結果は次の通りです。 1.1回押すと0行に定められた内容が表示され、1行に新行が作成されます。 2.連続2回押すと2回目は、0行目が空行(新行?)、1行目は定められた内 容が表示
| ||||
|
投稿日時: 2008-10-05 13:34
連続2回ってダブルクリックのこと?
それとも、処理中に2回目を押すってこと? | ||||
|
投稿日時: 2008-10-05 15:30
ぴあちゃんさん、お返事ありがとうございます。
ここで言います連続2回って、ダブルクリックではなく、シングルクリックを2回押し たことです。実は1回目も正常に表示しているように見えたのですが、マウスで新規行 をクリックして移動すると表示されていた1行目の内容が消えてしまいます。 その後、Google やいろんな検索で調べいますと、バインドされたDataGridViewにプログ ラムから1行追加して定められた内容のレコードを作成することは出来ないような感じ がしましたので、次のようにしてデータセットのテーブルに直接書き込んで、書き込ん だレコードのキーワードでフィルターを掛けてバインドされたDataGridViewに表示させ たところ正常に動作しています。
バインドされていないDataGridViewには次のようにすれば、簡単に追加できますが → DataGridView1.Rows.Add("1列目データ", "2列目データ") バインドされた DataGridViewに指定した内容のレコードを追加させる方法が解りません よろしくお願いいたします。 [ メッセージ編集済み 編集者: One.net 編集日時 2008-10-05 15:38 ] | ||||
|
投稿日時: 2008-10-05 20:44
自己解凍。
すみません。私のボンミスです。 最初の質問の通り、バインドされたDataGridViewに表示するレコードを新規作成する レコード番号に絞込みを次のように掛けていました。 → BindingSource1.Filter = "record_No = " & R_No ところがプログラムから定められた内容のレコードを1行追加するときに絞込みを しているキーワード(record_No)を設定しないでレコードを追加しようとしていました。 このためDataSetの認識されないままの中途半端になっていたようです。 大変わかりにくい説明で、ご迷惑をおかけしたと思いますが。どうぞお許し下さい。 [ メッセージ編集済み 編集者: One.net 編集日時 2008-10-05 20:46 ] |
1