1

我有一些旧代码在网格中定义了一个工具栏,如下所示:

@(Html.Kendo().Grid<Object>().Name("SomeGrid")
    .ToolBar(toolBar => toolBar.Custom()
        .Text("<i class='icon-download'></i> Exportieren")
        .HtmlAttributes(new { id = "export" })
        .Url(Url.Action("Export", "ControllerName", new { page = 1, pageSize = "~", filter = "~", sort = "~", ElementId= ViewBag.CurrKompfGrp }))
    )
...

我想在其中添加更多按钮。到目前为止,我在其他网格中找到并使用的最佳方法是使用 .Template 函数:

        .ToolBar(toolbar =>
        {
            toolbar.Template("<a class='btn' id='panelAddAktionButton' onclick='aktionen.addItem();'><i class='icon-plus' rel='tooltip' title='add action'></i> </a> " +
                                "<a class='btn' id='panelEditAktionButton' onclick='aktionen.editItem();'><i class='icon-edit' rel='tooltip' title='Edit action'></i> </a> ");
        })

但是,问题是我看不到如何轻松地将一种方法转换为另一种方法。当我尝试将几个项目添加到方法 1 中时,Visual Studio 将其强调为错误。由于第一种方法中 url 是动态的,因此将其转换为第二种方法是有问题的。

我也尝试将两者结合起来 - 但再次出错。

任何想法表示赞赏!

4

1 回答 1

1

万一有人遇到同样的问题。剑道人回答说这两种方法不能结合。如果添加了工具栏模板,它将覆盖之前的所有内容。然而,当使用初始方法并将对象传递给工具栏操作生成器时,可以定义多个自定义命令。

我在尝试将 toolbar.Custom() 与引导按钮一起使用时遇到了更多问题(每个按钮附近出现了一个不必要的空元素,但 Kendo 人说这不是错误)。所以我最终这样做了:

    .ToolBar(toolbar =>
    {
        toolbar.Template("<a class='btn' id='panelDownloadItemButtonPLZ' onclick=lokaleSperrlisten.downloadSperrliste('grid41897')><i class='icon-download' rel='tooltip' title='Download'></i> </a> " +
                         "<a class='btn ' href='" + Url.Action("ExportSperrlisten", "Vorbereitung", new { page = 1, pageSize = "~", filter = "~", sort = "~", sperrlistenType = "PLZ" }) + "' id='export1'><i class='icon-inbox'  rel='tooltip' title='Export'></i> </a>");
    })

因此,最好的方法是将所有内容都转换为 Template() 结构。希望,这对其他人有帮助。

于 2013-05-28T07:24:22.877 回答