【问题标题】:How to display values in a Kendo UI Grid custom popup template如何在 Kendo UI Grid 自定义弹出模板中显示值
【发布时间】:2013-12-12 13:01:57
【问题描述】:

我有一个带有简单 Kendo UI Grid 的 MVC 视图:

@(Html.Kendo().Grid(Model.Positions)    
    .Name("Test")
    .Columns(columns =>
    {
        columns.Bound(p => p.Name);                
        columns.Command(command => { command.Edit(); });        
    })       
    .Editable(ed=>ed.Mode(GridEditMode.PopUp).TemplateName("Position").Window(w => w.Width(600)).Window(w => w.Title("Byrå")))

    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(10)
        .Model(model => model.Id(p => p.Id))      
        .Update(update => update.Action("Update", "Office"))        
        .Read(read => read.Action("Get", "Office")
     )
   )
 )

在 Shared/EditorTemplate 下我在 Shared/EditorTemplates 下添加了 Postion.cshtml。编辑按应有的方式打开,如果我使用例如,一切都很好:

@Html.TextBoxFor(model => model.Name)

但是,我不能使用 LabelFor,因为它会显示属性的名称而不是值。似乎网格与网格一起实例化了弹出窗口。当我单击编辑时,TextBoxFor 中的值会更新,但如果我使用 @Model.Name 则不会。它永远是空的。

我还尝试根据其中一个字段的值隐藏一些字段,但由于我不能使用@Model,所以它不起作用。

有人知道如何解决这个问题吗?

【问题讨论】:

    标签: asp.net-mvc-4 grid kendo-ui kendo-grid kendo-asp.net-mvc


    【解决方案1】:

    剑道对我的回答是这样的。我还没有让它在我的情况下工作,但它可能会对你有所帮助。如果您对此问题提出了不同的解决方案,可以分享一下吗?

    在您的自定义编辑器中。

    文本/javascript

    function sendName() {
        var grid = $('.k-grid').data().kendoGrid;
        var tr = grid.tbody.find('.k-grid-edit-row');
        var model = grid.dataItem(tr);
        var result = {
            name: model.Name
        };
        return result;
    }
    

    他们正在检查 html 并首先分配网格,然后分配网格的选定行,然后将该行的字段映射到网格的列。

    【讨论】:

      猜你喜欢
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-29
      • 2013-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多