- - PR -
VB2005 DataGridView 明細編集方法について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-06-01 11:21
VB2005のWindowsAplicationで開発を行っています。
お客様からの要望で、明細入力をExcelのように行いたいといわれました。 一行一行の編集ではなく、セルを縦横無尽に修正したいようです。 当方は一行毎の変更・追加・削除を考えていました。 VB2005のDataGridViewで、どこまで可能なのでしょうか? また、DB更新はDeleteInsertしかないのでしょうか? ご教授ください。 | ||||
|
投稿日時: 2006-06-01 14:33
どこまで・・・と言われると辛いですが、Excelチックな動作は可能ですよ
行をまたがって複数セルをブロック状に選択して、別のところに貼り付ける、とかいうと、かなりのコーディングが要ると思いますが、コピー&ペーストをサポートしなければ実に簡単です。 DB更新は、実際にはデータを削除せずに削除フラグに1を立てるという風にもできますし、ストアドを呼ぶという風にも出来ます。 | ||||
|
投稿日時: 2006-06-01 15:10
こばさん、ご返信ありがとうございます。
コピー&ペーストはなんとかご勘弁頂く方向にもって行こうと思います。 DB更新の話しですが、明細を自由に編集できるようにすると、一回の編集で 追加・変更・削除が出来てしまいますよね(ある行のあるセルの内容を変更し、 その後、一行追加したり、今度は不要な行を削除するなど)。 セルの編集が起こる度にDBの更新をする事はさけたいと考えています。 そうなると、上記かっこ内の様な明細の編集作業が終了した時点で、最後に確定 ボタン等クリックで一括更新という事になるのですが、そうすると、DB更新す るためには、全て削除して、編集後のデータを新規追加という流れになりません でしょうか?しかしできればこの方法は避けたいです。 そう考えると、やはりこばさんが教えて下さったように、ストアドで処理する しかないのでしょうか。 | ||||
|
投稿日時: 2006-06-01 15:27
行が変わったらDB更新処理をして Okボタン押したらコミットというのもありますが、
この場合 ごりごりとコーディングしないとだめかな | ||||
|
投稿日時: 2006-06-01 15:41
データセットで普通にデータバインディングすれば、ほぼOKなのでわ?
| ||||
|
投稿日時: 2006-06-01 17:17
七味唐辛子さん、返信ありがとうございます。
>行が変わったらDB更新処理をして Okボタン押したらコミットというのもあります>が、この場合 ごりごりとコーディングしないとだめかな ご指摘頂いた方法も考えたのですが、長時間Commitせずにいるのがちょっと厳しいかもしれません。使い方によっては、長時間開きっぱなしになる可能性がある画面のようなのです。 | ||||
|
投稿日時: 2006-06-01 17:21
R・田中一郎さん、返信ありがとうございます。
>データセットで普通にデータバインディングすれば、ほぼOKなのでわ? 知識不足申し訳ありません。DataSetでBindすると、DBに実更新されるということでしょうか?もしそうなら是非そのようにしたいと思います。 | ||||
|
投稿日時: 2006-06-01 17:30
僕も最近知ったのですが、実はそうらしいです。 動作は比較的簡単に確認できるのて、試しにやってみると良いですよ(^▽^) |