Kendo 网格 (ASP.NET MVC) - 设置 DataTable-bound 网格的列标题
Kendo Grid (ASP.NET MVC) - Set column titles of a DataTable-bound grid
我有一个 kendo 网格,它是使用 ASP.NET MVC 助手构建的。网格绑定到 DataTable
。如果我将我的网格绑定到这个 DataTable
,kendo 助手使用每个 DataColumn
的 ColumnName
属性 来设置列的标题和字段 属性的靠山object.
问题是列名必须包含空格,但如果我将列名设置为这样的值,kendo 会抛出模板错误,因为字段名不能包含空格不是有效的 javascript 标识符。我尝试设置 DataColumn
的 Caption
属性,但这似乎不起作用。问题的更大部分是创建一个 JS 映射器函数来动态重命名每一列(或任何使用 hard-coded 值的变通方法)不是一个选项,因为我的 DataTable
是SQL 数据透视操作的结果,因此列名根本不可预测,因此无法事先进行映射。
如何告诉 Kendo 为各自支持字段中的每一列使用不同的标题?
如果您在视图中迭代网格声明中的列,您将能够设置自定义标题。检查此示例并使用 column.Title("...");
.Columns(columns =>
{
foreach (System.Data.DataColumn column in Model.Columns)
{
var c = columns.Bound(column.ColumnName);
if (column.ColumnName == "UnitPrice")
{
c.ClientFooterTemplate("sum:#:sum#").ClientGroupFooterTemplate("sum:#:sum#");
}
else if (column.ColumnName == "UnitsInStock")
{
c.ClientFooterTemplate("max:#:max#").ClientGroupFooterTemplate("avg:#:average#");
}
}
columns.Command(cmd=>cmd.Edit());
})
我有一个 kendo 网格,它是使用 ASP.NET MVC 助手构建的。网格绑定到 DataTable
。如果我将我的网格绑定到这个 DataTable
,kendo 助手使用每个 DataColumn
的 ColumnName
属性 来设置列的标题和字段 属性的靠山object.
问题是列名必须包含空格,但如果我将列名设置为这样的值,kendo 会抛出模板错误,因为字段名不能包含空格不是有效的 javascript 标识符。我尝试设置 DataColumn
的 Caption
属性,但这似乎不起作用。问题的更大部分是创建一个 JS 映射器函数来动态重命名每一列(或任何使用 hard-coded 值的变通方法)不是一个选项,因为我的 DataTable
是SQL 数据透视操作的结果,因此列名根本不可预测,因此无法事先进行映射。
如何告诉 Kendo 为各自支持字段中的每一列使用不同的标题?
如果您在视图中迭代网格声明中的列,您将能够设置自定义标题。检查此示例并使用 column.Title("...");
.Columns(columns =>
{
foreach (System.Data.DataColumn column in Model.Columns)
{
var c = columns.Bound(column.ColumnName);
if (column.ColumnName == "UnitPrice")
{
c.ClientFooterTemplate("sum:#:sum#").ClientGroupFooterTemplate("sum:#:sum#");
}
else if (column.ColumnName == "UnitsInStock")
{
c.ClientFooterTemplate("max:#:max#").ClientGroupFooterTemplate("avg:#:average#");
}
}
columns.Command(cmd=>cmd.Edit());
})