单击更改Kendo网格行

时间:2014-01-03 17:38:50

标签: select grid kendo-ui row

我希望有人可以提供帮助。我在一个html文档(没有MVC)中有一个Kendo网格,我想在行选择上更改整行的类。我尝试了各种方法,仍然没有运气。我目前在:

//在kendo网格定义中 - 名为'#grid'的网格

    change: function (e) {
        $("#grid tbody").find("tr[k-state-selected]").css("color", "black");
        var id = $("#grid").closest("tr").css("color", "black");
        CallDocument(this._data[0]);
    },

函数CallDocument正在被触发,所以我知道我至少可以使用该函数。

编辑:这是我提出的解决方案,感谢所有人

change: function (e) {
            $("#grid tbody").find("tr.k-state-selected").attr("class", "detail read k-state-selected");

    },

我需要使用'tr.k-state-selected'表单,并使用attr更改以更改类集。

2 个答案:

答案 0 :(得分:3)

要将每个访问过的行标记为已选中,您可以在change事件上添加CSS类。

var grid = $("#grid").kendoGrid({
    dataSource: ds,
    editable  : false,
    pageable  : true,
    selectable: true,
    columns   :
    [
        { field: "FirstName", width: 90, title: "First Name" },
        { field: "LastName", width: 200, title: "Last Name" },
        { field: "City", width: 200 }
    ],
    change : function (e) {
        this.select().addClass("ob-selected");
    }
}).data("kendoGrid");

当您移动到另一个单元格时,类ob-selected会停留,因为这与KendoUI无关。

此处示例:http://jsfiddle.net/2TGLp/1/

唯一的问题是,如果您应用过滤器,更改为其他页面,则不会保持选中状态...但不确定这对您是否重要。

答案 1 :(得分:1)

我使用css和javascript覆盖我的剑道风格(取决于场景)。

CSS:

.k-state-selected {
    color: black;
}

的Javascript / jQuery的:

$('k-state-selected').css('color', '#000000')