使用kendo UI 遇到的問題:ide
1. Kendo DropdownList 加載完畢後, 顯示 [object object]的問題:this
解決: 嘗試了添加dataTextField、dataValueField後, 依然沒法解決. 通過1天的排查, 問題在同時引用了Kendo Mobile.js 和Kendo all.js文件時, 須要把kendo mobile.js 放在kendo.all.js的前面. 只要把kendo.mobile放下後面, 就會出現選項是[object object].url
2. Kendo DropdownList, 使用remote dataSource時, 在初始化方法中index屬性沒法使用、select也方法無效. 可是使用local dataSource時一切正常.spa
解決: 當index執行的時候, 遠程數據還未取出來. 在dataBound事件中執行select方法來選擇.debug
$('#dicParentId').kendoDropDownList({ optionLabel: { dicText: "--請選擇字典項--", dicValue: "-1" }, dataTextField: "dicText", dataValueField: "dicValue", dataSource: ddlDataSource, dataBound: function () { //數據加載在index方法以後才完成, 因此在綁定方法中選擇. this.select(0); } });
3. Kendo Grid, 刷新數據源的問題.code
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(); }
4. 在Kendo Grid或者TreeList中, 先執行自定義的方法, 在執行Grid的刪除blog
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(); } }
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); }); }