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

kendo分多个版本,核心UI免费版.NET,JAVA,PHP对应的前后端开发版。

 

基础免费版开放的UI经多个测试,与收费封装的UI并无区别,收费版提供了后端代码和前端封装语法,使不懂JS前端的也可简易开发。

 

基础免费版与专业版的DEMO差距实在太大,基础版的DEMO只提供最基础的DEMO样例,比如listView的服务器端翻页,官网上的样例无一个涉及,通通都是前一次加载完全部数据前端翻页。

 

实际开发的话,后端的开发人员,不愿购买其各语言封装专业版,或想写纯JS,再或者需要深度定制拓展的,可以在收费的DEMO中得到应有的API信息。

 

从开发版的DEMO中看出前端生成的JS代码数据样例,再看后端提交,处理,返回的数据。便可以纯JS的方式操作和自定义拓展功能。

 

实际工作并不复杂

 

以下是个人工作中以这种思路实现的部分功能展示和代码。

 

KenDo UI ListView实现的聊天记录统计展示功能(还未作完)

 

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

 

 

    <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信息,再用于免费版的应用开发。

你可能感兴趣的:(kendoui)