Kendo UI 网格突出显示所选行

2024-03-09

我有一个 Kendo (2013.2.716) 网格,其中包含一个编辑命令(编辑按钮位于第一列)和 40 多个其他列。我没有为网格设置可选集。填充网格后,我可以将鼠标放在“编辑”命令列上,每个“编辑”按钮会依次突出显示,当我单击其中一个时,我的编辑器会立即出现。

但是,如果没有 .Selectable 选项,当我滚动网格查看 40 多列时,我无法判断自己位于哪一行。所以,我设置了.Selectable()。这给了我每当我连续单击时所期望的背景突出显示。但是,我有两个负面影响:一是选择新行大约需要六秒钟才能更改(并突出显示)新行,二是单击“编辑”按钮现在什么也做不了:没有编辑器出现。

文档说:“只需将可选选项设置为 true,即可在网格中启用选择。”但一定不止于此......更改背景颜色不应该花费任何时间,也不应该杀死我的编辑按钮。我错过了什么?

@(Html.Kendo().Grid(Model.Data)
.Columns(columns =>
{
    columns.Command(command => command.Edit().Text("Edit").UpdateText("Submit")).Width(97).HtmlAttributes(new { style = "text-align: center;" });
...
})
.Selectable( )
.Editable(editable => editable
    .Mode(GridEditMode.PopUp)
    .TemplateName("MyEditor")
    .Window(w => w.Width(500))
    .Window(w => w.Title("My Editor")))

提供一个全局变量来存储先前突出显示的行:

var previousHighlightedRow;

提供所需突出显示的样式:

.highlightTR {
    background-color: #99CCFF;
}

在 GridBound 事件中,连接行的 mouseup 事件,以在先前突出显示的行上使用 removeClass,并在“选定”行上使用 addClass。

    $('.k-grid-content tbody').off('mouseup');
    $('.k-grid-content tbody').on('mouseup', 'tr', function () {
        if (previousHighlightedRow != undefined) {
            previousHighlightedRow.removeClass("highlightTR");
        }
        $(this).addClass("highlightTR");
        previousHighlightedRow = $(this);
    });

这种方法速度很快(超过 500 行),并且不会终止编辑命令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kendo UI 网格突出显示所选行 的相关文章

  • kendo网格列:如何在页脚模板中数据绑定点击事件?

    页脚模板中的 Kendo Grid 列数据绑定单击事件不起作用 请看例子http dojo telerik com ALAZo http dojo telerik com ALAZo 价格列模板上的点击事件工作正常 但页脚模板上的点击事件却
  • 如何在剑道网格中加载大量数据

    网页方法
  • 如何使用 Kendo UI 查询本地 websql 数据库

    如果这个问题对于SO来说太宽泛 请原谅我 但我正在努力寻找我需要的任何示例 并认为有人可能能够为我指明正确的方向 我刚刚开始使用 Kendo UI mobile 并试图找到一个教程或任何示例代码 用于在 kendo ui mobile 中创
  • Kendo UI DatePicker - 获取先前的值

    当用户使用日期选择器更改日期时 我尝试进行确认 是否可以从对象模型中获取先前的值 或者我需要推出自己的值 没有 据我所知 但你可以很容易地实现它 如下所示 var datePicker date kendoDatePicker change
  • 以编程方式设置网格排序

    是否可以在读取数据之前以编程方式设置 KendoUI 数据源的排序参数并避免第二个服务器读取 范围是对特定用户交互设置默认排序 如何 这是我想要做的一个例子 因为答案没有切中要害 或者也许我不明白事情是如何运作的 我定义了一个具有初始排序的
  • 指定网格中的默认排序

    使用knockout kendo绑定绑定Telerik Kendo网格时是否可以指定默认排序 我像这样绑定网格 kendoGrid data grid Rows sortable allowUnsort false mode single
  • Kendo Grid - 自定义过滤器行

    Kendo Grid 中有一个名为 Filter Row 的功能 http demos telerik com kendo ui grid filter row http demos telerik com kendo ui grid fi
  • 根据另一个列值启用或禁用剑道网格列

    我有一个剑道网格 其中有一个复选框 它是使用客户端模板呈现的 如果选中该复选框 那么我希望启用与其相邻的列 如果未选中该复选框 则应禁用该列 即用户不应该能够对其进行编辑或键入 我尝试通过将编辑事件绑定到网格来实现此目的 但仅当网格进入编辑
  • Kendo-Knockout:如何使窗口居中

    我正在使用 RPNiemeyer 的剑道淘汰库 我有一个剑道窗口 我在 html 中使用它 div div 我曾经这样将对话框居中 productionStates data kendoWindow center But as center
  • Javascript 和 C# 舍入地狱

    如您所知 由于天才舍入规则C 我们得到以下值 decimal d 2 155M var r Math Round d 2 2 16 decimal d 2 145M var r Math Round d 2 2 14 现在在客户端Javas
  • 具有条件选择动作的剑道网格列

    这是我得到的 columns Bound t gt t Id Title Template
  • 如何更改 Kendo 警报标题?

    我正在使用 Kendo 警报并想更改其标题 默认标题是 url 名称 请参阅下面的链接 图片 我想使用自己的标题 如何更改 图像剑道警报 https i stack imgur com AscDa png 剑道警报 kendo alert
  • 如何使用脚本显示 Kendo Grid 的列菜单

    Kendo Grid 有一个非常漂亮的列上下文菜单 又名 columnMenu 您可以通过右键单击每个列标题来访问它 通过将 Kendo Grid 中的字段设置为以下内容来启用该菜单 列菜单 true 启用 columnMenu 后 它会在
  • 如何获取 Kendo DropDownList 的选定值

    我不知道如何确定在我的剑道下拉列表中选择了哪个项目 我的观点将其模型定义为 model KendoApp Models SelectorViewModel ViewModel 定义为 public class SelectorViewMod
  • 获取剑道网格中的点击事件

    我正在尝试获取 Kendo Grid 的单击事件 以便我可以将内容绑定到 Shift 和 Ctrl 单击 我无法使用 Kendo 提供的固有多选功能 因为它不支持拖放 当我在 dataBound 事件之后创建函数时 我的函数会在单击时被调用
  • Kendo 网格列宽度 + 可滚动

    我正在尝试从 JavaScript 绑定到可滚动剑道网格 但在列宽方面遇到了一些问题 这fiddle http jsfiddle net mnTGm 1 演示了问题 问题末尾的代码 我在 html 中指定标头并向其中一个标头添加宽度 然后
  • Kendo UI - observable、ObservableObject 和 Model 之间的区别

    observable ObservableObject 和 Model 之间有什么区别 谢谢 Model继承自ObservableObject 而ObservableObject又继承自Observable 可观察的 http docs k
  • Kendo 模块和 RequireJS (r.js) 表现不佳。 (加载时出错)

    我在用Kendo UI版本2013 1 514 and RequireJS r js版本2 1 6 我的项目在标准下完美运行RequireJS按需加载 但是 当我尝试使用优化器时 任何 Kendo 都不会加载 包括其中任何一个都会引起著名和
  • Web API + OData - PATCH 请求 400 错误

    我有一个链接到 Web Api 2 OData 控制器的 Kendo UI 数据源 并且在更新操作时遇到问题 我可以很好地创建和删除 当我在进行任何更新后调用将数据源同步到服务器时 我收到 400 错误 odata error code m
  • 无法将数据绑定到 Kendo Scheduler

    我已经在视图中显示了这个 Kendo Scheduler 但没有任何数据 视图上的调度程序 Html Kendo Scheduler

随机推荐