【问题标题】:Send additional data to KendoUI DataSource and use it in dataBound event向 KendoUI DataSource 发送附加数据并在 dataBound 事件中使用它
【发布时间】:2014-01-15 14:40:52
【问题描述】:

我想在 dataSource 中获取一些额外的数据,以便在 dataBound 事件中使用它。 这是我在网格中使用的交通工具:

            "transport" : {
            "read" : {
                "url" : "f?p=120:0:701647109622339:PLUGIN=BC",
                "dataType" : "json",
            },
        },
        "pageSize" : 20,
        "schema" : {
            data : "row",
            total : "total",
            rowsdata : "rowsdata",
            model : {
                "id" : "doc_id",
            }
        },

我想通过$('#grid').data("kendoGrid").dataSource.data().rowsdata 访问rowsdata。有可能吗?

这是一个 jsfiddle:http://jsfiddle.net/M8jvz/10/

在这种特殊情况下,我想将永久隐藏列的列表传递给 HideGrouped 函数

这是解决方案http://jsfiddle.net/Casufi/4ya83/2/的小提琴

【问题讨论】:

    标签: javascript kendo-ui kendo-grid kendo-datasource


    【解决方案1】:
    $('#grid').data("kendoGrid").dataSource.data()
    

    返回数组。架构中的 rowsdata 是什么?不支持此类配置。

    here 介绍了如何向服务器发送附加参数。

    【讨论】:

    • 看来我用错词了。我想在使用 dataSource 的同一请求中从服务器接收一些额外的数据。有什么方法可以将额外的数据放入 dataSource 以在 dataBound 函数中使用它
    • 不知道对不对。我在 g.dataSource._pristine.rowsdata[0] jsfiddle.net/M8jvz/11 中找到了需要的数据
    【解决方案2】:

    您可以使用 dataSource.schema.data 作为函数来实现您想要的:

    var dataSource = new kendo.data.DataSource({
                "autoSync" : true,
                "data" : l_json,
                "pageSize" : 20,
                "schema" : {
                    data : function(data){
                        data.rowsdata[0] = { hidden: 0, name: "name" }
                        return data.row;
                    },
    ...
    

    这里的文档: http://docs.kendoui.com/api/framework/datasource#configuration-schema.data

    【讨论】:

    • 我找到了解决方案。请查看我对 Petur Subev 的评论
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    相关资源
    最近更新 更多