2017-09-02 5 views
1

モデル(List < Employee>)にバインドされたDevExpress MVC GridViewがありますが、テーブル列として追加されたクラスプロパティはありません。 UpdateRowRouteValuesが呼び出されると、コントローラメソッドパラメータで新しいEmployeeインスタンスが取得されますが、すべてのプロパティが設定されているわけではありません(列コレクションにないプロパティ)。 すべてのプロパティを設定してこのインスタンスを取得する方法はありますか(古い値はすべて変更+変更されています)?DevExpress MVC GridView-列にすべてのプロパティが追加されていない場合の更新後の値

例: クラスEmployee -FirstName、氏名、年齢、のisActive

列: -LastName、年齢

次にコントローラで、私は姓と変わらず/のisActive古いを持つようにしたいです値と新しいLastNameとAge値が、FirstName nullとIsActive falseです。

また、Column Chooserで見ることができるので、すべてのプロパティを列として追加し、Visible = falseを設定する必要はありません。

LastName、Ageプロパティのみを使用して新しい余分なクラスを作成してからこれらの2つのインスタンスをマージすることを考えていましたが、それはカラムが頻繁に変更できる大規模なプロジェクトマージ機能)。

+0

リクエスト内の情報を送信しない場合、コントローラは自分の状況を「推測」できません。ビューモデルを使用し、データベースからIDモデルに基づいてデータモデルを取得し、ビューモデルからそのプロパティを更新してデータモデルを保存します –

答えて

0

あなたがキー

または

カスタムJSPropertiesとパスを経由して編集した行の隠された値を保存し、すなわち(GridView - How to implement data editing with hidden column例からのアプローチを使用することにより、モデルから初期(隠された)値を復元しますか、それらは更新時にコントローラに戻される)。

関連する問題