EasyUI----动态拼接EasyUI控件

简介: <div class="markdown_views"><p>最近在做的项目中,根据查询到的数据,然后动态的拼接easyUI的控件显示到界面上。在数据库中,有一个命令的表,还有一个参数的表,先到命令的表中去查询这一个设备有哪些命令,比如说,摄像头有一个<strong>转动</strong>的命令,那么就要把<strong>转动</strong>这个命令动态的拼接成EasyUI

最近在做的项目中,根据查询到的数据,然后动态的拼接easyUI的控件显示到界面上。在数据库中,有一个命令的表,还有一个参数的表,先到命令的表中去查询这一个设备有哪些命令,比如说,摄像头有一个转动的命令,那么就要把转动这个命令动态的拼接成EasyUI的Button按钮,然后根据命令去查询这个命令下的参数,比如说,转动是有角度的,10°,20°……,这个度就是命令下的参数,然后动态的拼接成text或者combobox的样式。

下面就把代码展示一下,B层和D层都是简单的查询,返回的是DataTable,然后我在B层加了一个转换的类,将DataTable中的数据转换成前台要显示的Json串。

 #region GetDeviceFuncParJson 动态拼接设备控制下的命令和参数
        ''' <summary>'''
        ''' 动态拼接设备控制下的命令和参数'''
        ''' </summary>'''
        ''' <param name="dt">传入的表</param>'''
        ''' <returns>json串</returns>'''
        public static string GetDeviceFuncParJson(DataTable dt)
        {

            '''定义两个空的字符串类型'''
            string stringJson = "";  //</div>
            //string total = "";
            foreach (DataRow dsFunc in dt.Rows)
            {
                stringJson += "<div style=\"\">";
                '''获取命令ID'''
                string stringFuncId = dsFunc["function_id"].ToString();
                '''拼接命令参数'''
                StateEventFunctionBLL stateEventFunctionBLL = new StateEventFunctionBLL();
                '''调用查询方法,返回参数值'''
                DataTable dtParms = stateEventFunctionBLL.GetDeviceFunctionParams(int.Parse(stringFuncId));

                '''TODO:加判断,命令是否有参数,有参数的放左边,没有参数的放右边'''
                if (dtParms.Rows.Count>=1)
                {
                    foreach (DataRow dsParms in dtParms.Rows)
                    {
                        '''拼接名称text文本框'''
                        stringJson += "<br><input id=\"\" class=\"easyui-validatebox textbox\" value=\"" + dsParms["par_name"].ToString() + "\" disabled=\"disabled\" style=\"height: 20px; margin-left:10px;\"/>";
                        '''拼接默认值combobox下拉框'''
                        stringJson += "<select id=\"\" value=\"\" class=\"easyui-combobox\" style=\"margin-left:10px; width:130px;\" name=\"dept\" data-options=\"\"><option value=\"1\">" + dsParms["par_default_value"].ToString() + "</option></select>";
                    }
                    '''如果最后多一个“,”的话,就把它删掉'''
                    if (stringJson.ToString().EndsWith("<br>"))
                    {
                        stringJson.Remove(stringJson.Length - 1, 1);
                    }
                }               

                string strChinese = dsFunc["function_name"].ToString();
                string strChiToAllSpell = ChineseToSpellBLL.ConvertToAllSpell(strChinese);
                '''拼接成命令按钮'''
                stringJson += "<a id=\"" + strChiToAllSpell + "\" style=\"margin-left:40px\" href=\"javascript:void(0)\" class=\"easyui-linkbutton\">" + dsFunc["function_name"].ToString() + "</a></div>";

            }
            '''返回拼接好的参数和命令的样式'''
            return stringJson;


        }
        #endregion

动态加载的界面如下:
这里写图片描述

动态拼接的方法,一开始的时候,感觉很难,挺复杂的,其实一步一步的去研究后你会发现,没有那么的难,学会了你就会发现,拼接的原理是类似的,再让你去拼接其他的控件或者要用到的东西的时候,就会很快的把它做出来!

相关文章
|
5月前
|
存储 开发框架 前端开发
在EasyUI项目中使用FileBox控件实现文件上传处理
在EasyUI项目中使用FileBox控件实现文件上传处理
easyUI datagarid 编辑状态下的combobox动态赋值
easyUI datagarid 编辑状态下的combobox动态赋值
easyUI 动态参数名称和动态参数值
easyUI 动态参数名称和动态参数值
|
JSON JavaScript 前端开发
EasyUI-DataGrid控件[表格+日历]应用
EasyUI-DataGrid控件[表格+日历]应用
EasyUI-DataGrid控件[表格+日历]应用
|
JSON JavaScript Java
EasyUI之生成动态异步菜单栏
在项目开发中,对于整体的页面布局中对于菜单导航栏我们一般设计为根据不同的用户权限展示不同的菜单选项,同时菜单显示也会做异步加载处理。本文就来介绍下基于EasyUI的tree插件来实现导航栏的异步加载实现。
EasyUI之生成动态异步菜单栏
|
JSON 前端开发 数据格式
EasyUI–树形控件tree详解
树形控件还是经常使用的,比如菜单、部门管理等涉及到有归属关系的功能经常在前端页面采用树形结构表示。 EasyUI对树形控件的封装非常的Nice,尤其是对复选框的支持简直是漂亮异常。本篇就最常用的菜单数为例演示EasyUI中tree的使用。 先看示意图:
619 0
EasyUI–树形控件tree详解
|
数据安全/隐私保护
EasyUI–常用控件之按钮/搜索框/密码框/文件框/数字框/日期时间选择框
本篇主要介绍跟后台数据绑定相关度不大的简单控件,直接写了一个详细的例子,需要说明的东西都在注释里面。
614 0
EasyUI–常用控件之按钮/搜索框/密码框/文件框/数字框/日期时间选择框