什么决定了 Telerik MVC 网格中网格列的类型?
What determines the type of a grid column in a Telerik MVC grid?
我的专栏定义如下:
columns.Bound(o => o.SequenceNumber).Title("Seq #").Width(50).ClientTemplate("' value='<#=SequenceNumber#>' />");
我正在拉入的模型将 SequenceNumber 定义为 Nullable<decimal>
。当我拉入网格的属性时,Type
是 "Number"。通常,这是指我们程序中的整数。我知道 "Decimal" 是 Type
的有效值。如何让我的数据列显示为 Type
?
Telerik 控件会进行一些基本的反射以匹配合适的编辑器。 Nullable<decimal>
似乎与数字编辑器不匹配(已测试 v2015.1.318)。
相反,您需要提供它知道要检查的更通用的属性:
// This assumes you have the editor templates added
// to your ~/Views/Shared/EditorTemplates folder.
[UIHint("Number")]
[DisplayFormat(DataFormatString = "0.00")]
public Nullable<decimal> SequenceNumber { get; set; }
您也可以使用 [DataType] 作为货币类型。
[DataType(DataType.Currency)]
public Nullable<decimal> Amount{ get; set; }
编辑 -
通过将名为 Decimal.cshtml
的新 EditorTemplate 添加到 ~/Views/Shared/EditorTemplates:
来测试另一种方法
@model decimal?
@(Html.Kendo().NumericTextBoxFor(m => m))
网格按预期找到了它,SequenceNumber 上没有其他属性。
此时,我的解决方案是在检索导出时手动更改此网格列的数据类型,因为我尝试建议数据类型失败。
我的专栏定义如下:
columns.Bound(o => o.SequenceNumber).Title("Seq #").Width(50).ClientTemplate("' value='<#=SequenceNumber#>' />");
我正在拉入的模型将 SequenceNumber 定义为 Nullable<decimal>
。当我拉入网格的属性时,Type
是 "Number"。通常,这是指我们程序中的整数。我知道 "Decimal" 是 Type
的有效值。如何让我的数据列显示为 Type
?
Telerik 控件会进行一些基本的反射以匹配合适的编辑器。 Nullable<decimal>
似乎与数字编辑器不匹配(已测试 v2015.1.318)。
相反,您需要提供它知道要检查的更通用的属性:
// This assumes you have the editor templates added
// to your ~/Views/Shared/EditorTemplates folder.
[UIHint("Number")]
[DisplayFormat(DataFormatString = "0.00")]
public Nullable<decimal> SequenceNumber { get; set; }
您也可以使用 [DataType] 作为货币类型。
[DataType(DataType.Currency)]
public Nullable<decimal> Amount{ get; set; }
编辑 -
通过将名为 Decimal.cshtml
的新 EditorTemplate 添加到 ~/Views/Shared/EditorTemplates:
@model decimal?
@(Html.Kendo().NumericTextBoxFor(m => m))
网格按预期找到了它,SequenceNumber 上没有其他属性。
此时,我的解决方案是在检索导出时手动更改此网格列的数据类型,因为我尝试建议数据类型失败。