0

親グリッドビューと詳細グリッドビューがあり、親グリッドビューを挿入/更新/削除できます。詳細グリッドビューに新しいレコードを挿入できますが、詳細グリッドビューのレコードを更新/削除できません。次の例外が発生します。

Store update、insert、または delete ステートメントが予期しない数の行 (0) に影響を与えました。エンティティが読み込まれてから、エンティティが変更または削除された可能性があります。ObjectStateManager エントリを更新します。

このレコードを編集しているのは私だけなので、これが不可能であることはわかっています。

どうすればこれを修正できますか?

4

2 に答える 2

0

わかりました。答えが見つかりました。バージョンの追加の列は必要ありませんでしたが、devexpress サイトで見つけた 2 つのサポートの問題を混ぜ合わせて、次のように思いつきました。

    protected void gvPackages_RowUpdating(object sender, ASPxDataUpdatingEventArgs e)
    {
        e.OldValues["Version"] = GetVersionField(sender as ASPxGridView);
    }

    Byte[] GetVersionField(ASPxGridView grid)
    {
        return grid.GetRowValues(grid.EditingRowVisibleIndex, "Version") as Byte[];
    }

これは素晴らしく機能します。これとforeignkey idを組み合わせることで、期待どおりに機能するようになりました

于 2012-04-09T11:42:28.183 に答える