kendo分多個版本,核心UI免費版.NET,JAVA,PHP對應的前后端開發版。
基礎免費版開放的UI經多個測試,與收費封裝的UI並無區別,收費版提供了后端代碼和前端封裝語法,使不懂JS前端的也可簡易開發。
基礎免費版與專業版的DEMO差距實在太大,基礎版的DEMO只提供最基礎的DEMO樣例,比如listView的服務器端翻頁,官網上的樣例無一個涉及,通通都是前一次加載完全部數據前端翻頁。
實際開發的話,后端的開發人員,不願購買其各語言封裝專業版,或想寫純JS,再或者需要深度定制拓展的,可以在收費的DEMO中得到應有的API信息。
從開發版的DEMO中看出前端生成的JS代碼數據樣例,再看后端提交,處理,返回的數據。便可以純JS的方式操作和自定義拓展功能。
實際工作並不復雜
以下是個人工作中以這種思路實現的部分功能展示和代碼。
KenDo UI ListView實現的聊天記錄統計展示功能(還未作完)
<script> function getdatestring(dt) { var s = dt.indexOf('('); var e = dt.indexOf(')'); var strdate = dt.substring(s + 1, e); //return strdate; return new Number(strdate); } //1000 創建未接入會話 //1001 接入會話 //1002 主動發起會話 //1004 關閉會話 //1005 搶接會話 //2001 公眾號收到消息 //2002 客服發送消息 //2003 客服收到消息 function isUserSendInfo(ope) { if (ope == 2003 || ope == 2001) { return "in"; } if (ope == 2002) return "out"; return ""; } function gethidden1(ope) { if (ope == 2003 || ope == 2001) return "none"; else return ""; } //當是客服發信息時 function gethidden2(ope) { if (ope == 2002) return "none"; else return ""; } </script> <script type="text/x-kendo-template" id="template2"> <li class="#:isUserSendInfo(opercode)#"> <div class="message"> <span class="arrow"></span> <a class="name" style="display: #:gethidden2(opercode)#; ">#:nickname#</a> <span class="datetime">#:kendo.toString(new Date(getdatestring(date)),"yyyy-MM-dd")# #:kendo.toString(new Date(time),"HH:mm")#</span> <a class="name" style="display:#:gethidden1(opercode)#; ">#:worker#</a> <span class="body">#:text#</span> </div> </li> </script> <div class="demo-section"> <div class="slimScrollDiv" style="position: relative; overflow: hidden; width: auto; height: 600px;"> <div id="listView" class="scroller" data-height="600px" data-always-visible="1" data-rail-visible1="1" style="overflow: hidden; width: auto; height: 600px;"> <ul class="chats" id="ullist"> </ul> </div> </div> <div id="pager" class="k-pager-wrap"></div> </div> <script> $(function() { var dataSource = new kendo.data.DataSource({ "transport": { "prefix": "", "read": { "url": "/Admin/MpCustomerService/MpCustomerServiceConfig_Read_List?mpaccountid=112" } }, "pageSize": 10, "page": 1, "total": 0, "serverPaging": true, //"serverSorting": true, //"serverFiltering": true, //"serverGrouping": true, //"serverAggregates": true, "type": "aspnetmvc-ajax", "filter": [], "schema": { "data": "Data", "total": "Total", "errors": "Errors", } }); $("#pager").kendoPager({ dataSource: dataSource }); $("#ullist").kendoListView({ dataSource: dataSource, template: kendo.template($("#template2").html()) }); }); </script>
從收費版支持較好的前后端DEMO中獲知API信息,再用於免費版的應用開發。