Kendo 网格工具栏的多个重载?
Multiple overloads for Kendo grid Toolbar?
我正在尝试配置一个 Kendo 网格工具栏以在网格中具有 Kendo "Create" 功能,并且还具有位于其中的自定义按钮。这是我目前所拥有的:
@(Html.Kendo().Grid<VIEWMODELHERE>()
.Name("UserProfileGrid")
.Resizable(c => c.Columns(true))
.Selectable()
.Filterable()
.Groupable()
.Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("UserCreateTemplate"))
.ToolBar(x => x.Create(), x.Template(@<text>
@(Html.Kendo().Button()
.Name("ButtonAddUser")
.HtmlAttributes(new { type = "k-button" })
.Icon("downloads")
.Content("Add User")
.Events(e => e.Click("createUser")))
@(Html.Kendo().Button()
.Name("ButtonEditUser")
.HtmlAttributes(new { type = "k-button" })
.Icon("settings")
.Content("Edit User")
.Events(e => e.Click("Edituser")))
@(Html.Kendo().Button()
.Name("ButtonRefreshPage")
.HtmlAttributes(new { type = "k-button" })
.Icon("history")
.Content("Refresh Page")
.Events(e => e.Click("RefreshPage")))
@(Html.Kendo().Button()
.Name("ButtonDeleteUser")
.HtmlAttributes(new { type = "k-button" })
.Icon("history")
.Content("Delete a user")
.Events(e => e.Click("DeleteUser")))
@(Html.Kendo().Button()
.Name("ButtonAbout")
.HtmlAttributes(new { type = "k-button" })
.Icon("history")
.Content("About")
.Events(e => e.Click("aboutButtonClick")))
</text>)));
问题是我似乎无法使用 lambda 函数正确创建按钮,因为它没有正确读取创建函数。
如您所知,您遇到了语法问题。由于您在工具栏命令中使用了多个命令(x.Create 和 x.Template),因此您需要通过将主体包裹在“{}”中将其变成一个块。 x.Create() 之后是一个“;”结束该行。
.ToolBar(x =>
{
x.Create();
x.Template(@<text>
@(Html.Kendo().Button()
.Name("ButtonAddUser")
.HtmlAttributes(new { type = "k-button" })
.Icon("downloads")
.Content("Add User")
.Events(e => e.Click("createUser")))
</text>);
})
Prashant 你是对的!对于以后遇到此问题的用户,您可以轻松地做到这一点:
<a class='k-button k-grid-add' href='#'>Add new User</a>
所以我现在有:
toolbar.Template(@<text>
<a class='k-button k-grid-add' href='#'>Add new User</a>
@(Html.Kendo().Button()
.Name("ButtonEditUser")
.HtmlAttributes(new { type = "k-button" })
.Icon("settings")
.Content("Edit User")
.Events(x => x.Click("Edituser")))
@(Html.Kendo().Button()
.Name("ButtonRefreshPage")
.HtmlAttributes(new { type = "k-button" })
.Icon("history")
.Content("Refresh Page")
.Events(x => x.Click("RefreshPage")))
@(Html.Kendo().Button()
.Name("ButtonDeleteUser")
.HtmlAttributes(new { type = "k-button" })
.Icon("history")
.Content("Delete a user")
.Events(x => x.Click("DeleteUser")))
@(Html.Kendo().Button()
.Name("ButtonAbout")
.HtmlAttributes(new { type = "k-button" })
.Icon("history")
.Content("About")
.Events(x => x.Click("aboutButtonClick")))
</text>);})
Razer 和 html 的混合可能不太漂亮......但它适用于我们的敏捷环境。
我正在尝试配置一个 Kendo 网格工具栏以在网格中具有 Kendo "Create" 功能,并且还具有位于其中的自定义按钮。这是我目前所拥有的:
@(Html.Kendo().Grid<VIEWMODELHERE>()
.Name("UserProfileGrid")
.Resizable(c => c.Columns(true))
.Selectable()
.Filterable()
.Groupable()
.Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("UserCreateTemplate"))
.ToolBar(x => x.Create(), x.Template(@<text>
@(Html.Kendo().Button()
.Name("ButtonAddUser")
.HtmlAttributes(new { type = "k-button" })
.Icon("downloads")
.Content("Add User")
.Events(e => e.Click("createUser")))
@(Html.Kendo().Button()
.Name("ButtonEditUser")
.HtmlAttributes(new { type = "k-button" })
.Icon("settings")
.Content("Edit User")
.Events(e => e.Click("Edituser")))
@(Html.Kendo().Button()
.Name("ButtonRefreshPage")
.HtmlAttributes(new { type = "k-button" })
.Icon("history")
.Content("Refresh Page")
.Events(e => e.Click("RefreshPage")))
@(Html.Kendo().Button()
.Name("ButtonDeleteUser")
.HtmlAttributes(new { type = "k-button" })
.Icon("history")
.Content("Delete a user")
.Events(e => e.Click("DeleteUser")))
@(Html.Kendo().Button()
.Name("ButtonAbout")
.HtmlAttributes(new { type = "k-button" })
.Icon("history")
.Content("About")
.Events(e => e.Click("aboutButtonClick")))
</text>)));
问题是我似乎无法使用 lambda 函数正确创建按钮,因为它没有正确读取创建函数。
如您所知,您遇到了语法问题。由于您在工具栏命令中使用了多个命令(x.Create 和 x.Template),因此您需要通过将主体包裹在“{}”中将其变成一个块。 x.Create() 之后是一个“;”结束该行。
.ToolBar(x =>
{
x.Create();
x.Template(@<text>
@(Html.Kendo().Button()
.Name("ButtonAddUser")
.HtmlAttributes(new { type = "k-button" })
.Icon("downloads")
.Content("Add User")
.Events(e => e.Click("createUser")))
</text>);
})
Prashant 你是对的!对于以后遇到此问题的用户,您可以轻松地做到这一点:
<a class='k-button k-grid-add' href='#'>Add new User</a>
所以我现在有:
toolbar.Template(@<text>
<a class='k-button k-grid-add' href='#'>Add new User</a>
@(Html.Kendo().Button()
.Name("ButtonEditUser")
.HtmlAttributes(new { type = "k-button" })
.Icon("settings")
.Content("Edit User")
.Events(x => x.Click("Edituser")))
@(Html.Kendo().Button()
.Name("ButtonRefreshPage")
.HtmlAttributes(new { type = "k-button" })
.Icon("history")
.Content("Refresh Page")
.Events(x => x.Click("RefreshPage")))
@(Html.Kendo().Button()
.Name("ButtonDeleteUser")
.HtmlAttributes(new { type = "k-button" })
.Icon("history")
.Content("Delete a user")
.Events(x => x.Click("DeleteUser")))
@(Html.Kendo().Button()
.Name("ButtonAbout")
.HtmlAttributes(new { type = "k-button" })
.Icon("history")
.Content("About")
.Events(x => x.Click("aboutButtonClick")))
</text>);})
Razer 和 html 的混合可能不太漂亮......但它适用于我们的敏捷环境。