kendo grid 的小例子

    //grid数据初始化start
            var columnsData = [{   //grid列定义start
                title: "序号",
                template: "<span class='row-number'></span>",
                width: 80
            }, {
                field: "accountCode",
                title: "科目代码",
                width: 200
            }, {
                field: "accountName",
                title: "科目名称"
            }, {
                field: "CompanyName",
                title: "目标成本"
            }, {
                field: "Country",
                title: "基线目标成本"
            }];   //grid列定义end
            $scope.templateListOption = {
                dataSource: {
                    transport: {
                        read: {
                            url: abp.appPath + 'api/services/app/DicFinancialAccount/LoadSon',
                            type: "post",
                            contentType: "application/json",
                            dataType: "json",
                            data: function () {
                                return { page: 1 };
                            }
                        },
                        parameterMap: function (options, operation) {
                            if (operation == "read") {
                                return JSON.stringify(options);
                            }
                        }
                    },
                    schema: {
                        type: "json",
                        data: function (data) {
                            return data.result.data.data; //指向返回json中的table数据项
                        },
                        model: {
                            id: "id",
                            fields: {
                                "accountCode": { editable:false, type: "number" }
                            }
                        }
                    },
                },
                editable:true,
                dataBound: function () {
                    var rows = this.items();
                    $(rows).each(function () {
                        var index = $(this).index() + 1;
                        var rowLabel = $(this).find(".row-number");
                        $(rowLabel).html(index);
                    });
                },
                columns: columnsData
            }
            //grid数据初始化end
            //基本信息input显示内容初始化数据
            $scope.projectInfo = {
                type: "8月份成本预算",
                classify: "月份成本预算",
                projectManager: "陶经理",
                projecyName: "大众",
                projectCode: "123456",
                projectLeader: "陶经理",
                startTime: "2016-06-05",
                endTime: "2016-08-15",
                price:"120000"
            };
            //测试保存数据       注意,这里可以获取grid表格里的数据,在编辑完数据之后在获取更改后的数据方法
            $scope.saveModel = function () {
                var grid = $("#grid").data("kendoGrid");//获取grid对象
                console.log(grid.dataSource.data());//获取grid里的data
            }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kendo UI框架提供了强大的Excel导出功能,通过Grid的saveAsExcel能方便地导出Grid中的数据,而且格式美观大方,使用起来也非常方便。但是在实际使用中不是很理想,主要有以下两个问题: 1. 导出的列数据是原始值 Kendo UI默认导出的是该列的value值,及查出来的值,有时候我们会用template渲染一下导出的列,比如将“Y”显示成“是”,把“N”显示成“否”。而Kendo UI导出的却是Y/N这种只有程序员看得懂的数据库标识,显然不是我们需要的,这种情况非常常见。 2. 不能灵活控制可导出的列 Kendo UI的Excel导出主要看两点,一是该列(column)是field字段,而不是自定义的name;二是该列不是隐藏的(hidden:true)。这样我们无法灵活导出我们需要的列。 为了解决上面两个问题,我查看了Kendo UI的源代码,提取并改进了源代码。主要更改点及使用方法请看下面源代码。主要针对以上两点做了更改,只需要在grid定义columns时加上isExport或exportTemplate即可: 在导出数据,先看该列有没有自定义exportTemplate(),没有则看Kendo UI自带的template(),再没有才会导出查出来的值。 判断是否导出该列不再看hidden属性,而是看列的isExport属性,如果为false则不导出,其它情况一律导出该列。 经过这两个更改,基本可以应对所有业务场景,可以方便快捷地开发了! 但要注意,Kendo UI自带的导出功能无法应用于导出大量数据,似乎是浏览器的jvm溢出了,建议超过5万条的数据导出还是老老实实写后台导出功能吧。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值