EasyUI----动态拼接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

动态加载的界面如下:

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏跟着阿笨一起玩NET

WinForm程序启动控制台窗口Console

本文转载:http://blog.csdn.net/oyi319/article/details/5753311

30110
来自专栏听雨堂

用Nunit测试通讯程序

    对于Nunit,我是个纯粹的新手,没想到,第一个练手的,居然是一个通讯程序。难度略微大了点。我的通讯程序是一个类似通讯服务器的程序,能够监听和维持多个连...

20370
来自专栏跟着阿笨一起玩NET

C#后台调用前台javascript的五种方法

10110
来自专栏Ken的杂谈

C# MD5加密-MD5Helper

3.5K30
来自专栏圣杰的专栏

.Net异步编程知多少

1. 引言 最近在学习Abp框架,发现Abp框架的很多Api都提供了同步异步两种写法。异步编程说起来,大家可能都会说异步编程性能好。但好在哪里,引入了什么问题,...

23870
来自专栏pangguoming

C# 简单日志文本输出

第一种  直接文件IO流写日志文件 using System.IO; public static void WriteLog(string strLog) { ...

35850
来自专栏Phoenix的Android之旅

JSONObject 和 JsonObject 的区别

做Java开发经常要用Json来做数据的格式化解析,虽然在Android平台上我们习惯的使用 JSONObject, 但不知道你有没有这样的疑问,我们在impo...

25410
来自专栏魂祭心

原 WCF学习之旅----基础篇之Ente

27860
来自专栏JackeyGao的博客

Golang bongo 简单示例

16120
来自专栏.NET开发者社区

一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](九)

前言 童鞋们,大家好 我是专注.NET开发者社区建设的实践者Rector。 首先,为自己间隔了两个星期五再更新本系列文章找个不充分的理由:Rector最近工作,...

29450

扫码关注云+社区

领取腾讯云代金券