Rocho.J

人脑是不可靠的, 随时记录感悟并且经常重复!

 

[原创]标记下Kendo使用中的问题, 持续更新中ing.....

使用kendo UI 遇到的问题:

1. Kendo DropdownList 加载完毕后, 显示 [object object]的问题:

解决: 尝试了添加dataTextField、dataValueField后, 依然无法解决.  经过1天的排查, 问题在同时引用了Kendo Mobile.js 和Kendo all.js文件时, 需要把kendo mobile.js 放在kendo.all.js的前面. 只要把kendo.mobile放下后面, 就会出现选项是[object object].

 

2. Kendo DropdownList, 使用remote dataSource时, 在初始化方法中index属性无法使用、select也方法无效. 但是使用local dataSource时一切正常.

解决: 当index执行的时候, 远程数据还未取出来.  在dataBound事件中执行select方法来选择.

            $('#dicParentId').kendoDropDownList({
                optionLabel: {
                    dicText: "--请选择字典项--",
                    dicValue: "-1"
                },
                dataTextField: "dicText",
                dataValueField: "dicValue",
                dataSource: ddlDataSource,
                dataBound: function () {
                    //数据加载在index方法之后才完成, 所以在绑定方法中选择.
                    this.select(0);
                }
            });
View Code

 

 

3. Kendo Grid, 刷新数据源的问题.

        var reBindSupData = function(){
            debugger;
            var treeList = window.parent.$('#dynTblList').data("kendoTreeList");
            var dataSrc = treeList.dataSource;
            treeList.dataSource.data([]);
            treeList.setDataSource(dataSrc);

            //另外一种方法   
            //$('#dynTblList').data("kendoTreeList").dataSource.read();
            //$('#dynTblList').data("kendoTreeList").refresh();
        }
View Code

 

4. 在Kendo Grid或者TreeList中, 先执行自定义的方法, 在执行Grid的删除

                                name: "urlDestroy",
                                text: "删除",
                                imageClass: "k-icon k-i-close",
                                click: function (e) {
                                    //debugger;
                                    var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
                                    if (confirm('该操作将会删除 "' + dataItem.DictionaryValue+'" 及其子项, 您确定要删除吗?')) {
                                        var treeGrid = $("#dynTblList").data("kendoTreeList");
                                        treeGrid.dataSource.remove(dataItem);
                                        treeGrid.dataSource.sync();
                                        treeGrid.refresh();
                                    }
                                }
View Code

 

5. Kendo TreeList中, 刷新List并展开选择的结点

var treeView = $('#folders-treeview').data('kendoTreeView');
                    var selected = treeView.select();
                    if (treeView != null && selected != null) {

                        var selectedDataItem = treeView.dataItem(selected);
                        selectedDataItem.loaded(false);
                        selectedDataItem.load();

                        treeView.one("dataBound", function () {
                            treeView.expand(selected);
                        });
                    }
View Code

 

posted on 2017-06-05 11:28  RJ  阅读(486)  评论(0编辑  收藏  举报

导航