html.grid displayformatデータアノテーションは機能しません
-
29-09-2019 - |
質問
私は自分のビューモデルをhtml.gridにバインドしようとしています。 DisplayFormatアノテーションを自分の財産の1つに設定しました。ただし、グリッドがレンダリングされている場合、形式は適用されません。
これがコードです:ビューモデル:
[DisplayFormat(DataFormatString = "{0,10:###,0}")]
public double AmountCurrency { get; set; }
ASPXで:
<%= Html.Grid<MyViewModel>(Model.MyViewModel)
.Columns( column => {
column.For(x => x.AmountCurrency);
...
ASPXでフォーマットすると、動作します。
column.For(x => x.AmountCurrency).Format("{0,10:###,0}");
データアノテーションで動作しない理由がわかりません。
どんな助けも大歓迎です。
ありがとう :)
解決
を見ることから ドキュメント と ジェレミー・スキナーのコメント, 、これは自動生成列でのみ機能すると思います。
自動生成列が機能しない場合、a カスタムグリッドレンダラー 行く方法かもしれません。
他のヒント
MVCCONTRIBのバージョン2では、そのグリッドはDisplayFormatとDisplayNameの両方の属性の両方を無視しました。そして、それはバージョン3.0.51.0で修正されています - これを参照してください:http://mvccontrib.codeplex.com/workitem/7064
私はこれをチェックしましたが、今では適切に機能します(列が自動生成されていない場合でも)。
所属していません StackOverflow