我有一些旧代码在网格中定义了一个工具栏,如下所示:
@(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将其强制为错误。 由于网址在第一种方法中是动态的,因此将其转换为第二种方法是有问题的。
我也尝试将两个结合起来 - 但又错了。
感谢任何想法!
答案 0 :(得分:1)
如果有人遇到同样的问题。剑道人回答说这两种方法不能合并。如果添加了工具栏模板,它将覆盖所有以前的内容。但是,当使用初始方法并将对象传递给工具栏动作生成器时,可以定义多个自定义命令。
我还有一些问题试图使用toolbar.Custom()和bootstrap按钮(每个按钮附近都出现一个空的不必要元素,但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()结构。 希望,这有助于其他人。