html.grid displayformatデータアノテーションは機能しません

StackOverflow https://stackoverflow.com/questions/3519235

  •  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

私はこれをチェックしましたが、今では適切に機能します(列が自動生成されていない場合でも)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top