DBカレント移動と編集の有無検出方法


せぴあ45  2006-06-12 23:47:52  No: 131825

VB2005.NET + MDB WinXP_pro

お世話になります。

[データ]-[データソースの追加]のウィザードで作成したマスターメンテナンスのような
一覧とその詳細Formを作成しています。
その中に最終更新日なるフィールドがあり
対象行の編集があった場合にコード中で当日の年月日に変更したいのですが
下記が判りません。

1.一覧内で、行移動する前に移動前の「行」に変更があったか調べる方法
2.行の移動を検出(イベント?)するのは、一覧表示をしているGridで行うのが普通なのか、その他にあるのか(Datasetには無いようです)
3.「2の行の移動を検出」がGridでは無い場合、移動前の行Noを取得する方法

DataSet.HasChangesは一旦どこかしらに変更があるとUpdateしてもTrueになったままでした。
ウィザードで作成されたオブジェクトは「Dataset」「BindingSource」「TableAdapter」「BindingNavigator」です。

以上よろしくお願いします。


特攻隊長まるるう  2006-06-13 04:31:31  No: 131826

>一覧表示をしているGridで行うのが普通なのか
2005の場合、メインは DataGridView のようですが
下位互換用に
[DataGrid クラス]
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.datagrid.aspx
も用意されているので使ってるコントロールは明記してください。

[DataGridViewTextBoxColumn クラス]
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.datagridviewtextboxcolumn(VS.80).aspx
があるところを見ると、設計としては似ているようです。
まだまだ DataGridView の情報は少ないと思いますので
DataGrid の情報を参考にしてみるとか。
[DOBON.NET .NET Tips  DataGrid]
http://dobon.net/vb/dotnet/index.html#datagrid
過去ログ検索『DataGrid』とか。。。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200507/05070045.txt


せぴあ45  2006-06-13 05:41:16  No: 131827

> 特攻隊長まるるう様
回答ありがとうございます。
> 使ってるコントロールは明記してください。
申し訳ありません。GrapeCityのFlexGridfor.NET3.0Jです。
データソースウィンドウからのドラッグ時にFlexGridが選択できるようになっています。
一覧での編集はせず行単位で選択可能としています。
詳細で選択された行のデータを編集するようにしています。

> [DataGridViewTextBoxColumn クラス]
先週から.NET2005を着手したばかりで、いまいち理解できませんでした。
申し訳ありません。

> [DOBON.NET .NET Tips  DataGrid]
既に拝見させていただきましたが、私が希望とする情報は見当たりませんでした。

> 過去ログ検索『DataGrid』とか
DataGridをツールボックスに組み込んでみたのですが
ColumnChangingイベントがありませんでした。

現在、DataTableのRowChanging/RowChangedあたりかなぁ
と調べているところです。
素人ですいませんです。
今回Formデザインを参考にしたのは
http://www.atmarkit.co.jp/fdotnet/special/win20review02/win20review02_01.html
です。


特攻隊長まるるう  2006-06-15 03:27:44  No: 131828

>2.行の移動を検出(イベント?)するのは、一覧表示をしているGridで行うのが普通なのか
Grid 系のコントロールを使ってるなら、そこでのユーザの入力による
変更は Grid 系のコントロールのイベントで取得しますねぇ。。。

使った事無いコントロールの説明は難しいけど、
GrapeCity のコントロールで分からなければ、まずFAQ
http://www.grapecity.com/japan/support/product_faq_search.asp

FlexGridfor.NET3.0J の情報でキーワード検索がうまくいかなかったので
全件検索で、3ページだったから、普通に全部、目を通しました。

編集については
BeforeEdit とか Edit ってキーワードのついた何かで操作できそうです。
移動は
BeforeSelChangeイベントなんてのも書いてあったし。。。
製品

>3.「2の行の移動を検出」がGridでは無い場合、移動前の行Noを取得する方法
オブジェクトによってあったり無かったりするから、具体的決まってから
質問してください。

>DataGridをツールボックスに組み込んでみたのですが
>ColumnChangingイベントがありませんでした。
DataTable のイベントですね。
http://msdn2.microsoft.com/ja-jp/library/system.data.datatable.columnchanging.aspx

見つからなかったら、ヘルプをキーワード検索してみてください。見つかると思います。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加