1

Ajax Bound Telerik MVC UI Grid を表示フォーマットまたは表示テンプレートから取得するにはどうすればよいですか?

こちらの例を見ると、グリッドに通貨記号付きの「単価」列が表示されていることがわかります。以下の Razor コードを見ると、グリッドが ajax にバインドされていることがわかります。残念ながら、ViewModel は表示されませんが、編集ボタンをクリックすると数値の TextBox が表示されるため、"Unit Price" プロパティをフォーマット済みの文字列にすることはできません。EditorTemplates と DisplayTemplates を作成しましたが、どういうわけかエディター テンプレートだけが機能しています。

私のViewModelは次のようになります。

[UIHint("MoneyTemplate")]
public decimal ItemPrice { get; set; }

MoneyTemplate は、表示テンプレートとエディター テンプレートの名前です。それぞれ Views/Shared/DisplayTemplates/MoneyTemplate.cshtml と Views/Shared/EditorTemplates/MoneyTemplate.cshtml です。

グリッドが表示されるとき、表示テンプレートは選択されていませんが、エディター テンプレートは?!? こんな風に見える

ここに画像の説明を入力

クライアント側のテンプレートを使用せずに通貨記号を表示する方法を教えてください。表示テンプレートが取得されないのはなぜですか?

4

1 に答える 1

1

このドキュメントを読んだ後、答えは DisplayFormat 属性を使用することであることがわかりました。

[UIHint("MoneyTemplate")]
[DisplayFormat(DataFormatString = "{0:C}")]
public decimal ItemPrice { get; set; }

これにより、グリッドに小数が通貨として表示され、編集に「MoneyTemplate」エディター テンプレートが使用されます。

于 2014-12-16T10:19:38.890 に答える