kendo-ui - 在 KendoGrid 中创建一个未绑定(bind)到数据源的列

标签 kendo-ui

我正在使用 Kendo UI 将数据源绑定(bind)到 Kendo 网格。我正在尝试找到在绑定(bind)到数据源的网格中创建列的最佳方法。

目前,我正在数据源中创建一个字段,并在从远程端点读取数据后使用一些 javascript 和 jQuery 设置该列的值。

数据源:

schema: {
    model: {
        fields: {
            blah: {},
            empty_column: {}
        }
    }
}

网格:

columns: {
    field: "empty_column",
    width: 100,
    title: "Empty"
}

Javascript:

datasource.data[item].set("empty_column", computed_value);

为简洁起见编辑了所有代码,一切正常。

我的问题:有没有办法为这个未连接到远程端点的新空列设置默认值? 当我设置时:

empty_column: {defaultValue: "None"}

网格仍然显示“未定义”,我认为是因为它在读取操作中没有接收到该字段的任何数据。有没有办法在网格中设置默认值?我还没有看到任何这样的例子......

最佳答案

defaultValue 在您创建记录时应用,而不是在它要显示时应用。

你可以这样做:

选项 1:schema.fields.fieldName 中使用 parse那将是这样的。

model: {
    fields: {
        empty_column: {
            type        : "string",
            defaultValue: "none",
            parse       : function (data) {
                if (!data.empty_columns) {
                    data.empty_column = "none";
                }
                return data;
            }
        },
        blah        : { type: "number" }
    }
},

选项 2:使用 schema.parse用于添加额外的字段值。

            schema: {
                model: {
                    fields: {
                        empty_column: {type: "string", defaultValue: "none"},
                        blah        : { type: "number" }
                    }
                },
                parse: function (response) {
                    $.each(response, function (idx, item) {
                        if (!item.empty_column) {
                            item.empty_column = "none";
                        }
                    });
                    return response;
                }
            }

当然,(对于这两个选项)如果您确实知道 empty_column 中没有以前的值,您可以保存测试条件并只留下分配。

关于kendo-ui - 在 KendoGrid 中创建一个未绑定(bind)到数据源的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14266647/

相关文章:

javascript - 将 Kendo React 包含在脚本标签中

javascript - Excel数字格式损坏

javascript - kendo.navigate 和更改 location.hash 之间的区别

asp.net-mvc - 如何从我的模型中的剑道编辑器中获取值

kendo-ui - 如何以编程方式知道 Treeview 的节点是否有子节点(用于角度的 kendoui Treeview )?

javascript - 为 kendo Scheduler 更新/重新分配创建 KO 绑定(bind)处理程序

javascript - 如何更改 Razor 中剑道网格的可分页消息?

css - Kendo - Material 主题与演示不匹配

javascript - 使用 Kendo Grid,你能发现列是否隐藏在 DataBound 事件中吗?

javascript - 禁用 Kendo-UI TreeView 节点