json - 在 Telerik UI for ASP.NET MVC 中为复选框和自定义删除按钮编写脚本/功能
问题描述
我需要帮助为我的 Telerik UI for asp.net MVC 程序编写脚本/函数。我的工具栏中有一个删除按钮,我认为我的脚本可以正确删除。现在,有人告诉我,我的复选框必须有一个脚本,在选中时也会被删除。作为一名 C# 编码员,我对 Json 编码并不完全了解。所以,任何帮助将不胜感激!下面是我的代码。
@(Html.Kendo().Grid<MVCSQLDatabase.Models>()
.Name("Grid")
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(10)
.Batch(true)
.Model(model => model.Id(p => p.Proposal_Uid))
.Read(read => read.Action("Proposals_Read", "Grid"))
.Create(create => create.Action("Proposals_Create", "Grid"))
.Update(update => update.Action("Proposals_Update", "Grid"))
.Destroy(destroy => destroy.Action("Proposals_Destroy", "Grid"))
)
.Resizable(resize => resize.Columns(true))
.Columns(columns =>
{
columns.Select().Width(100); //<-- my check boxes code.
columns.Bound(c => c.Prime).Width(215);
columns.Bound(c => c.Proposal).Width(200);
columns.Bound(c => c.C).Width(190);
columns.Bound(c => c.Cl).Width(185);
columns.Bound(c => c.T).Width(290);
columns.Bound(c => c.M).Width(220);
columns.Bound(c => c.S).Format("{0: dd/MM/yyyy}").Width(170);
columns.Bound(c => c.E).Format("{0: dd/MM/yyyy}").Width(170);
columns.Bound(c => c.P).Width(235);
columns.Bound(c => c.Con).Width(215);
columns.Command(command => { command.Destroy(); }).Width(180);// <--- My delete button in my column
})
.ToolBar(toolbar =>
{
toolbar.Create();
toolbar.Save();
toolbar.Excel();
toolbar.Custom().Text("Delete").Name("batchDestroy").IconClass("k-icon k-i-close"); //<-- my custom made delete button in my toolbar.
})
.ColumnMenu()
.Editable(editable => editable.Mode(GridEditMode.InCell))
.Pageable()
.Selectable(selectable =>
{
selectable.Mode(GridSelectionMode.Multiple);
selectable.Type(GridSelectionType.Row);
})
.PersistSelection()
.Filterable(filterable => filterable.Mode(GridFilterMode.Row))
.Scrollable()
.HtmlAttributes(new { style = "height:835px;" })
)
<script>
$("#grid").on("click", "batchDestroy", function() {
var $tr = $(this).closest("tr"),
grid = $("#grid").data("kendoGrid"),
dataItem = grid.dataItem($tr);
grid.dataSource.remove(dataItem);
});
</script>
解决方案
这是陷入这种情况的其他人的代码。最让我感动的是 .done 函数结束按钮单击功能,然后在删除后保存网格。希望这对其他人有帮助!
<script>
$(document).ready(function ()
{
$(".k-grid-Destroy").on("click", function (e)
{
e.preventDefault();
var grid = $("#Grid").data("kendoGrid");
var selectedRows = grid.select();
kendo.confirm(kendo.format("Are you sure you wish to delete {0} records?", selectedRows.length))
.done(function ()
{
$.each(selectedRows, function (i, row)
{
grid.removeRow(row);
})
grid.saveChanges();
});
});
});
</script>
推荐阅读
- laravel - 我可以更改在 laravel 的身份验证系统中使用的模型用户吗?
- jquery - 使用 jQuery 查找表的最后一个输入值时遇到问题,我的函数只返回 jibberish。你如何获得最后一行输入值?
- jsp - 为什么 JSTL fmt 的消息标签无法读取属性文件?
- python - 红色的 RGB 值显示为蓝色
- python - 如何为这个问题添加卷积层?
- amazon-web-services - 连接到 alt2.gmail-smtp-in.l.google.com[209.85.202.27]:2060:连接超时
- php - 如何在数组助手映射yii2中按子数据分组
- tortoisegit - 我怎样才能让我的隐藏文件回到隐藏之前的位置?
- tensorflow - 是否可以在不优化的情况下在 Jetson 中运行 yolo 模型?
- api - 如何通过在axios中传递基本身份验证来进行api调用