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

Posted

技术标签:

【中文标题】在 Telerik 网格行中传递隐藏字段【英文标题】:Pass hidden fields in Telerik grid row 【发布时间】:2021-07-28 14:59:46 【问题描述】:

我在我的 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"))
)
)

【问题讨论】:

【参考方案1】:

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

.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);
    )

【讨论】:

以上是关于在 Telerik 网格行中传递隐藏字段的主要内容,如果未能解决你的问题,请参考以下文章

Telerik RadWindow Javascript 向 ASP.NET 返回值

使用 Telerik 组件正确部署应用程序

Telerik获取所选ID(从Radgrid选择项目中获取数据)

extjs 网格面板任意行中的文件字段

如何从Telerik RadGrid获取Cell值

Telerik Kendo Grid (MVC) 更新后刷新