在 Telerik 网格行中传递隐藏字段

问题描述

我在我的 asp.net 核心应用程序中使用 Telerik grid

我有一个 Orders 列表,我需要绑定一些要隐藏的字段(例如 CreatedBy,例如),以便在用户更新它们时获取它们。

我看到 similar question 没有回答。

我的代码

@(Html.Kendo()
.Grid(Model)
.Name("Orders")
.Columns(columns =>
{
    columns.Bound(c => c.Name).Width(190);
    columns.Bound(c => c.CreatedById).Hidden();
    columns.Bound(c => c.ModifiedById).Hidden();
    columns.Command(command => { command.Destroy(); }).Width(100);
})
.Editable(editable => editable.Mode(GridEditMode.InCell))
.DataSource(dataSource => dataSource
    .Ajax()
    .Batch(true)
    .PageSize(20)
    .ServerOperation(false)
    .Events(events => events.Error("error_handler"))
    .Model(model => {
        model.Id(s => s.Id);
    })
    .Create(update => update.Action("BatchCreate","Orders"))
    .Read(read => read.Action("BatchRead","Orders"))
    .Update(update => update.Action("BatchUpdate","Orders"))
    .Destroy(update => update.Action("BatchDestroy","Orders"))
)
)

解决方法

最后,通过在数据源模型中添加隐藏字段来解决它:

.Columns(columns =>
{
    columns.Bound(c => c.Name).Width(190); // visible
    columns.Bound(c => c.HiddenId).Hidden();
    columns.Bound(c => c.HiddenOtherFiled).Hidden();
})
.DataSource(dataSource => dataSource
    .Ajax()
    .ServerOperation(false)
    .Events(events => events.Error("error_handler"))
    .Model(model =>
    {
        model.Id(s => s.Id);
        model.Field(s => s.HiddenId);
        model.Field(s => s.HiddenOtherFiled);
    })

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...