【问题标题】:Kendo UI Custom Pop-up Editor in Hierarchical Grid层次网格中的 Kendo UI 自定义弹出编辑器
【发布时间】:2015-12-26 15:38:38
【问题描述】:

我有一个分层网格,我正在尝试添加一个自定义编辑器以进行弹出式编辑。当我将模板添加到子网格并单击“编辑”按钮时,我收到一个无效的模板错误。如果我将相同的模板添加到父级,它工作正常。

这是控制台中的错误:

未捕获的错误:无效的模板:'

这里是代码

  @(Html.Kendo().Grid<ParentViewModel>()
                  .Name("GridAdjax")
                  .DataSource(dataSource => dataSource
                      .Ajax()
                      .PageSize(20)
                      .Events(events => events.Error("error_handler"))
                      .Read(read => read.Action("Read", "controller"))
                      .Model(model =>
                      {
                          model.Id(c => c.Id);
                      })
                      .ServerOperation(false)
                      .Events(events => events.Error("error_handler"))
                      .Events(events => events.RequestEnd("onRequestEnd"))

                  )
                  .Columns(columns =>
                  {
                      columns.Bound(p => p.CompanyName).Title("Company Name");
                      columns.Bound(p => p.CompanyDomain).Title("Company Domain");
                      columns.Bound(p => p.CompanySecurityRole).Title("Security Role");
                      columns.Bound(p => p.CompanySecurityGroup).Title("Security Group");
                  })
                  .ClientDetailTemplateId("template")
                  .Pageable()
                  .Sortable()
                  .Resizable(resize => resize.Columns(true))
                  .Events(e => e.DataBound("OnDataBound"))
                  .Deferred()

                  )
<CHILD>
            <script id="template" type="text/kendo-tmpl">
                @(Html.Kendo().Grid<ChildlViewModel>()
            .Name("grid_#=CompanyId#") 
            .DataSource(dataSource => dataSource
                .Ajax()
                .PageSize(10)
                .Update(update => update.Action("CompanyList_Update", "Administration"))
                .Read(read => read.Action("Read", "Child", new { companyId = "#=CompanyId#" }))
                        .Model(model =>
                              {
                                  model.Id(c => c.Id);
                                  model.Field(c => c.CompanySoldTo).Editable(true);
                                  model.Field(c => c.CompanyDistributionChannel).Editable(true);
                                  model.Field(c => c.CompanyDivision).Editable(true);
                                  model.Field(c => c.CompanyPlant).Editable(true);
                                  model.Field(c => c.CompanySalesOrg).Editable(true);
                              })
            )
            .Columns(columns =>
                  {
                      columns.Bound(p => p.CompanySoldTo).Title("Sold To");
                      columns.Bound(p => p.CompanyDistributionChannel).Title("Dist. Chan.");
                      columns.Bound(p => p.CompanyPlant).Title("Plant");
                      columns.Bound(p => p.CompanySalesOrg).Title("Sales Org");
                      columns.Command(command => { command.Edit(); }).Title(("Edit SAP Info."));
                  })
                    .Editable(ed => ed.Mode(GridEditMode.PopUp).TemplateName("Detail"))
            .Pageable()
            .Sortable()
            .ToClientTemplate()
                )
            </script>
            <script>
                function dataBound() {
                    this.expandRow(this.tbody.find("tr.k-master-row").first());
                }
            </script>

【问题讨论】:

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


    【解决方案1】:

    如果以后有人遇到此问题,则问题实际上出在我的自定义弹出编辑器模板中。我在一个设置为“请输入您的帐户#”的输入框中收到了一条数据验证消息。 “#”被 Kendo 解释为模板。我逃脱了#,然后能够让它成功加载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-08
      • 1970-01-01
      • 1970-01-01
      • 2017-11-27
      相关资源
      最近更新 更多