- - PR -
DataGridViewでレコード更新時に更新者名を記録したい
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-04-16 17:08
どうしても (3) の時刻で更新したいとすると、
あまりよい方法が思いつきませんでした。 「行が変更されるとき」というイベントはありませんので、 CellValueChanged あたりでフラグを立てて、 RowValidated でフラグが立っていれば設定するようなイメージでしょうか。 DataTable にバインドしているのなら、 DataTable.RowChanged イベントで設定する手はありますが、 無限ループになってしまいますし、回避するにはフラグを使うしかないと思います。 詳しい方いらっしゃいましたらフォローお願いします。 ただ、個人的にはこの仕様が少々疑問に思えます。 (1) かと思っていました。 仕様がわからないので何とも言えませんが、 データベースに更新するなら、データベースにコミットされた時刻を 記録する方がよいのではないでしょうか? Access は行の編集が終了したタイミングで更新されますよね。 | ||||
|
投稿日時: 2007-04-16 22:11
まて。 どこかでも書いたが、「更新ユーザ」や「時刻」のセルは、変更されたらまずいんじゃないの?だったら、最初から変更できないようにしておくのが、ユーザに優しいってもんじゃないか? あと、ぶさいくろうさんの「投稿数700超えててそれはないだろう・・・」って言葉。スルーするのもいいけど、よく意味を考えようね。 投稿数 700 も超えていれば、いろいろと教えてもらったことが蓄積されているんじゃない?それが全然生かせていないような質問の内容、質問の仕方って、どういうこと? それと、自分が今 DataGridView 使っているなら、DataGridView って書いてある質問には目を通そうぜ?同じような問題、覚えておいた方がいいようなことが書いてあるに決まっているんだからさ。な!! 本題については、「データベース側で、トリガーにて実装」に一票。J-SOX 対応でしょ?そういう「理由」も添えておくと、案が集まりやすいし、他の人への参考にもなりやすい。 _________________ | ||||
|
投稿日時: 2007-04-17 08:16
皆様お忙しいところたくさんアドバイスいただきありがとうございました。
CellValueChanged あたりでフラグを立てて、 RowValidated と データベース側で、トリガーにて実装 進めようと思います。ありがとうございました。 | ||||
|
投稿日時: 2007-04-17 10:50
ここまであからさまに苦言をスルーだと何だかすがすがしいですね。
人に何かを指摘、注意されたときって成長するチャンスだと思います。 700以上の投稿の中でそのチャンスを何度捨ててきたのかと考えるともったいないなぁと思うのは私だけでしょうか。 | ||||
|
投稿日時: 2007-04-17 20:45
次に期待 _________________ |