• kendoUI 免费部分开发部分经验。


    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;  auto; height: 600px;">
                <div id="listView" class="scroller" data-height="600px" data-always-visible="1" data-rail-visible1="1" style="overflow: hidden;  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信息,再用于免费版的应用开发。

  • 相关阅读:
    数据库的未来:ORM+LINQ+RX
    工具论-科学是实用工具
    事务、锁与原子性
    ORM-面向对象&关系数据库
    swift Class的内存布局
    使用phpexcel导出到xls文件的时候出现乱码解决
    苹果CMS
    js网页如何获取手机屏幕宽度
    常用正则说明
    php中的线程、进程和并发区别
  • 原文地址:https://www.cnblogs.com/zihunqingxin/p/4021702.html
Copyright © 2020-2023  润新知