0

我想重命名 jsGrid 原型中设置的以下按钮 css 类:

modeOnButtonClass、searchModeButtonClass、insertModeButtonClass、editButtonClass、deleteButtonClass、searchButtonClass、clearFilterButtonClass、insertButtonClass、updateButtonClass、cancelEditButtonClass

而不是在主 jsgrid.js 文件中执行此操作,我想在我的应用程序的 js 文件中执行此操作。

jsGrid 的开发者建议我在网格初始化之前重新定义 jsGrid 原型上的值:

jsGrid.Grid.prototype.headerRowClass = "my-custom-class";

我的网格是在函数内部创建的(如下所示),我不确定在哪里插入重命名代码,以及它的编写方式是否与开发人员建议的方式不同?:

    function populateUsersGrid() {
        var grid = $("#users_grid").jsGrid({
            height: "auto",
            width: "100%",
            autoload: true,
            sorting: true,
            editing: true,
            selecting: false,
            noDataContent: "",
            deleteConfirm: function (item) {
                return "The User, \"" + item.first_name + ' ' + item.last_name + "\" , will be removed from the Users table. Are you sure?";
            },
            controller: {
                loadData: function () {
                    var d = $.Deferred();
                    $.post("assets/php/get_users.php", {}, function (data) {
                        d.resolve(data);
                    });
                    return d.promise();
                }
                ,
                updateItem: function(item) {
                    return $.ajax({
                        type: "POST",
                        url: "assets/php/update_user.php",
                        data: {
                            'user_id': item.id,
                            'role_id': item.role_id
                        },
                        success: function (data) {
                            $("#users_grid").jsGrid("render");
                        }
                    });
                },
                deleteItem: function(item) {
                    return $.ajax({
                        type: "POST",
                        url: "assets/php/delete_user.php",
                        data: {
                            'user_id': item.id
                        },
                        success: function (data) {
                            $("#users_grid").jsGrid("render");
                        }
                    });
                }
            },
            fields: [
                {
                    title: "Last Name",
                    name: "last_name",
                    editing: false,
                    type: "text",
                    align: "left",
                    width: "20%"
                },
                {
                    title: "First Name",
                    name: "first_name",
                    editing: false,
                    type: "text",
                    align: "left",
                    width: "20%"
                },
                {
                    title: "Email Address",
                    name: "email",
                    editing: false,
                    type: "text",
                    align: "left",
                    width: "30%"
                },
                {
                    title: "Role",
                    name: "role_name",
                    type: "text",
                    align: "left",
                    width: "20%"
                },
                { 
                    type: "control"
                }
            ]
        });
    }

另一个问题是,当我在控制台中检查“原型”时,上面列出的原型值没有出现。

任何帮助将不胜感激。

4

1 回答 1

1

由于我正在重命名 ControlField 原型,因此代码需要:

jsGrid.ControlField.prototype.editButtonClass = "my-button-class";

$(function () {}我将这些代码行放在代码块内的主 JS 文件的顶部。

CSS 类已成功重命名。

于 2017-08-02T12:56:43.417 回答