我正在尝试通过键盘(Shift+向上箭头/Shift+向下箭头)实现行的多重选择。老实说,我不知道要实现这个。请帮忙。
您可以在 Kendo Grid 中做的是使用 ctrl 按钮提供多选择机制。因此,用户按下 ctrl 键,然后单击他想要选择的行(ctrl + 鼠标左键单击)。 如果这就是您所寻找的,这里有一个代码示例:
$("#rowSelection").kendoGrid({
dataSource: {
data: orders,
},
selectable: "multiple",
.
.
.
});
关键语法是: selectable: "multiple".
如果您有虚拟网格,它根本不起作用。 我已经进行了试用安装测试,并修改了项目模板创建的网格。我将数据大小增加到 1 个磨机项目,并打开多选 ant 虚拟滚动。我可以通过以下方式选择多行:首先选择一行,然后在按住 CTRL 键的同时左键单击新行来选择另一行。但当我向下滚动时,选择就被忘记了。我什至已经打开了坚持选择。
<div class="row">
<div class="col-12">
@(Html.Kendo().Grid<TelerikMvcApp1.Models.OrderViewModel>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.OrderID).Filterable(false);
columns.Bound(p => p.Freight);
columns.Bound(p => p.OrderDate).Format("{0:MM/dd/yyyy}");
columns.Bound(p => p.ShipName);
columns.Bound(p => p.ShipCity);
})
//.Pageable()
.Sortable()
.Scrollable(s => s.Virtual(true))
.Filterable()
.HtmlAttributes(new { style = "height:550px;" })
.Selectable(b => b.Mode(GridSelectionMode.Multiple))
.PersistSelection(true)
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(50)
.Read(read => read.Action("Orders_Read", "Grid"))
)
)
</div>