0

私は死んだ簡単なことをしようとしていますが、効果的な方法を見つけることができません。私はDataGridを持つWPFアプリケーションを持っています。私は、DataGridが(SQL Server CE 3.5データベース内の)テーブルのすべてのエントリを表示するようにします。その部分は、DataGridのItemsSourceを設定することで簡単に行えます。DataGridはSQL Server CEのEntity Frameworkにバインドされています

グリッドの最後の行にデータを入力するだけの組み込み機能を使用して行を追加できるようにするには、ユーザーが必要です。

テーブルのPKであるId列があります(Identity列ではないため、SQL Server CE 3.5ではEFでサポートされていません)。だから私は新しい項目を入力するたびに最大Idを計算する必要があります。

簡単なことを達成するためにDataGridイベントに苦労していますが、私のやり方を見つけることができません。誰でもそれを行う方法の例がありますか?

おかげ

答えて

1

あなたを助けることができます。 InitializingNewItemEventArgsには、データ型にキャストしてそのキー値を設定できるプロパティNewItem(オブジェクト)があります。最大値を1回取得してメモリ内でインクリメントしたい場合があります。

これは、新しいオブジェクトが作成される唯一の場所(sql-ce、並行性はない)だと仮定していますが、アプリケーション内に別の場所が存在する場合は、一意のキーを確保する必要があります。

+0

これは私が最終的に(そして悲しそうに)やったことです...ありがとう – danbord

1

Hereあなたがこの問題を回避しています。多分それはあなたがInitializingNewItemイベントを使用することができます...

よろしく、

関連する問題