杂乱1

本文介绍了一个基于HBase的查询系统实现方案,通过动态树形菜单展示具体数据查询和数据量查询等功能,并详细解释了菜单点击事件、数据表格转换为JSON字符串以及字符串转换回数据表格的过程。
$(function () {  
    //动态树形菜单数据  
    var treeData = [{  
          text : "Hbase查询功能列表",  
          children : [{  
                  text : "具体数据查询",  
                  children : [{  
                          text : "单一商品价格库存",  
                          attributes : {  
                              url : '<iframe width="100%" height="100%" frameborder="0"  src="jsp/queryPriceStock.jsp" style="width:100%;height:100%;margin:0px 0px;"></iframe>'  
                          }  
                      }, {  
                          text : "单一商品价格库存2",  
                          attributes : {  
                              url : ''  
  
                          }  
                      }  
                  ]  
              },{  
                  text : "数据量查询",  
                  children : [{  
                          text : "总量统计",  
                          attributes : {  
                              url : '<iframe width="100%" height="100%" frameborder="0"  src="jsp/queryPriceStock.jsp" style="width:100%;height:100%;margin:0px 0px;"></iframe>'  
                          }  
                      }, {  
                          text : "总量统计2",  
                          attributes : {  
                              url : ''  
                          }  
                      }  
                  ]  
              }  
          ]  
      }  
  ];  
      
    //实例化树形菜单  
    $("#tree").tree({  
        data : treeData,  
        lines : true,  
        onClick : function (node) {  
            if (node.attributes) {  
                Open(node.text, node.attributes.url);  
            }  
        }  
    });  
    //在右边center区域打开菜单,新增tab  
    function Open(text, url) {  
        if ($("#tabs").tabs('exists', text)) {  
            $('#tabs').tabs('select', text);  
        } else {  
            $('#tabs').tabs('add', {  
                title : text,  
                closable : true,  
                content : url  
            });  
        }  
    }  
      
    //绑定tabs的右键菜单  
    $("#tabs").tabs({  
        onContextMenu : function (e, title) {  
            e.preventDefault();  
            $('#tabsMenu').menu('show', {  
                left : e.pageX,  
                top : e.pageY  
            }).data("tabTitle", title);  
        }  
    });  
      
    //实例化menu的onClick事件  
    $("#tabsMenu").menu({  
        onClick : function (item) {  
            CloseTab(this, item.name);  
        }  
    });  
      
    //几个关闭事件的实现  
    function CloseTab(menu, type) {  
        var curTabTitle = $(menu).data("tabTitle");  
        var tabs = $("#tabs");  
          
        if (type === "close") {  
            tabs.tabs("close", curTabTitle);  
            return;  
        }  
          
        var allTabs = tabs.tabs("tabs");  
        var closeTabsTitle = [];  
          
        $.each(allTabs, function () {  
            var opt = $(this).panel("options");  
            if (opt.closable && opt.title != curTabTitle && type === "Other") {  
                closeTabsTitle.push(opt.title);  
            } else if (opt.closable && type === "All") {  
                closeTabsTitle.push(opt.title);  
            }  
        });  
          
        for (var i = 0; i < closeTabsTitle.length; i++) {  
            tabs.tabs("close", closeTabsTitle[i]);  
        }  
    }  
});  






/// <summary>
        /// Msdn
        /// </summary>
        /// <param name="jsonName"></param>
        /// <param name="dt"></param>
        /// <returns></returns>
        public static string DataTableToJson(string jsonName, DataTable dt)
        {
            StringBuilder Json = new StringBuilder();
            Json.Append("{\"" + jsonName + "\":[");
            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    Json.Append("{");
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        Json.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":\"" + dt.Rows[i][j].ToString() + "\"");
                        if (j < dt.Columns.Count - 1)
                        {
                            Json.Append(",");
                        }
                    }
                    Json.Append("}");
                    if (i < dt.Rows.Count - 1)
                    {
                        Json.Append(",");
                    }
                }
            }
            Json.Append("]}");
            return Json.ToString();
        }
    }




<table>  
                                <tr>  
                                    <td>  
                                        <div>部门名称: </div>  
                                        <select style="margin-bottom: 20px; margin-right: 20px; width: 200px; height: 32px;" class="easyui-combotree" id="seleDepartName" name="city" />  
                                    </td>  
                                    <td>  
                                        <div>  
                                            <div>公司:</div>  
                                            <input style="margin-bottom: 20px; margin-right: 20px; width: 200px; height: 32px;" id="seleCompanyId" class="easyui-combobox"  
                                                   name="language"  
                                                   data-options="  
                                                url:'../api/xxx',  
                                                method:'get',  
                                                valueField:'CompanyId',  
                                                textField:'CompanyName',  
                                                panelHeight:'auto',  
                                                   editable:false,  
                                                   required:true">  
                                        </div>  
                                    </td>  
                                </tr>  
                                <tr>  
  
                                    <td>  
                                        <div style="float: none; width:  200px; margin-top: 50px;">  
                                            <div>  
                                                <a href="#" class="easyui-linkbutton" id="btnSubmit" style="width: 100%; height: 32px">提交</a>  
                                            </div>  
                                        </div>  
                                    </td>  
                                </tr>  
                            </table>  






$('#seleDepartName').combotree({  
           url: "../Depart/Test",  
           method: 'get',  
           loadFilter: function (rows) {  
               return convert(rows);  
           }  
       });  






function convert(rows) {  
            function exists(rows, ParentDepartId) {  
                for (var i = 0; i < rows.length; i++) {  
                    if (rows[i].DepartId === ParentDepartId) return true;  
                }  
                return false;  
            }  
  
            debugger;  
            var nodes = [];  
            // get the top level nodes  
            for (var i = 0; i < rows.length; i++) {  
                var row = rows[i];  
                if (!exists(rows, row.ParentDepartId)) {  
                    nodes.push({  
                        id: row.DepartId,  
                        text: row.DepartName  
                    });  
                }  
            }  
  
            var toDo = [];  
            for (var i = 0; i < nodes.length; i++) {  
                toDo.push(nodes[i]);  
            }  
            while (toDo.length) {  
                var node = toDo.shift();    // the parent node  
                // get the children nodes  
                for (var i = 0; i < rows.length; i++) {  
                    var row = rows[i];  
                    if (row.ParentDepartId == node.id) {  
                        var child = { id: row.DepartId, text: row.DepartName };  
                        if (node.children) {  
                            node.children.push(child);  
                        } else {  
                            node.children = [child];  
                        }  
                        toDo.push(child);  
                    }  
                }  
            }  
            return nodes;  
        }  






function myformatter(date){  
    var y = date.getFullYear();  
    var m = date.getMonth()+1;  
    var d = date.getDate();  
    return y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d);  
}  
          
function myparser(s){  
    if (!s) return new Date();  
    var ss = (s.split('-'));  
    var y = parseInt(ss[0],10);  
    var m = parseInt(ss[1],10);  
    var d = parseInt(ss[2],10);  
    if (!isNaN(y) && !isNaN(m) && !isNaN(d)){  
        return new Date(y,m-1,d);  
    } else {  
        return new Date();  
    }  
}  
  
//页面加载  
$(function(){  
    //设置时间  
   var curr_time = new Date();     
   $("#txtBeginTime").datebox("setValue",myformatter(curr_time));  
   $("#txtEndTime").datebox("setValue",myformatter(curr_time));  
   //获取时间  
   var beginTime=$("#txtBeginTime").datebox("getValue");  
   var endTime=$("#txtEndTime").datebox("getValue");  
});  




$('#tt').datagrid({    
    title:'Frozen Columns',    
    iconCls:'icon-save',    
    width:500,    
    height:250,    
    url:'data/datagrid_data.json',    
    frozenColumns:[[    
        {field:'itemid',title:'Item ID',width:80},    
        {field:'productid',title:'Product ID',width:80},    
    ]],    
    columns:[[    
        {field:'listprice',title:'List Price',width:80,align:'right'},    
        {field:'unitcost',title:'Unit Cost',width:80,align:'right'},    
        {field:'attr1',title:'Attribute',width:100},    
        {field:'status',title:'Status',width:60}    
    ]]    
});  




DataTable到string         


        /// <summary>
        /// DataTable 到 string
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public static string DataTableToString(DataTable dt)
        {
            //!@&,#$%,^&*为字段的拼接字符串
            //为了防止连接字符串不在DataTable数据中存在,特意将拼接字符串写成特殊的字符!
            StringBuilder strData = new StringBuilder();
            StringWriter sw = new StringWriter();


            //DataTable 的当前数据结构以 XML 架构形式写入指定的流
            dt.WriteXmlSchema(sw);
            strData.Append(sw.ToString());
            sw.Close();
            strData.Append("@&@");
            for (int i = 0; i < dt.Rows.Count; i++)           //遍历dt的行
            {
                DataRow row = dt.Rows[i];
                if (i > 0)                                    //从第二行数据开始,加上行的连接字符串
                {
                    strData.Append("#$%");
                }
                for (int j = 0; j < dt.Columns.Count; j++)    //遍历row的列
                {
                    if (j > 0)                                //从第二个字段开始,加上字段的连接字符串
                    {
                        strData.Append("^&*");
                    }
                    strData.Append(Convert.ToString(row[j])); //取数据
                }
            }


            return strData.ToString();
        }


 string到DataTable


        /// <summary>
        /// string 到 DataTable
        /// </summary>
        /// <param name="strdata"></param>
        /// <returns></returns>
        public static DataTable StringToDataTable(string strdata)
        {
            if (string.IsNullOrEmpty(strdata))
            {
                return null;
            }
            DataTable dt = new DataTable();
            string[] strSplit = { "@&@" };
            string[] strRow = { "#$%" };    //分解行的字符串
            string[] strColumn = { "^&*" }; //分解字段的字符串


            string[] strArr = strdata.Split(strSplit, StringSplitOptions.None);
            StringReader sr = new StringReader(strArr[0]);
            dt.ReadXmlSchema(sr);
            sr.Close();




            string strTable = strArr[1]; //取表的数据
            if (!string.IsNullOrEmpty(strTable))
            {
                string[] strRows = strTable.Split(strRow, StringSplitOptions.None); //解析成行的字符串数组
                for (int rowIndex = 0; rowIndex < strRows.Length; rowIndex++)       //行的字符串数组遍历
                {
                    string vsRow = strRows[rowIndex]; //取行的字符串
                    string[] vsColumns = vsRow.Split(strColumn, StringSplitOptions.None); //解析成字段数组
                    dt.Rows.Add(vsColumns);
                }
            }
            return dt;
        }    

数据集介绍:电力线目标检测数据集 一、基础信息 数据集名称:电力线目标检测数据集 图片数量: 训练集:2898张图片 验证集:263张图片 测试集:138张图片 总计:3299张图片 分类类别: 类别ID: 0(电力线) 标注格式: YOLO格式,包含对象标注信息,适用于目标检测任务。 数据格式:JPEG/PNG图片,来源于空中拍摄或监控视觉。 二、适用场景 电力设施监控与巡检: 数据集支持目标检测任务,帮助构建能够自动识别和定位电力线的AI模型,用于无人机或固定摄像头巡检,提升电力设施维护效率和安全性。 能源与公用事业管理: 集成至能源管理系统中,提供实时电力线检测功能,辅助进行风险 assessment 和预防性维护,优化能源分配。 计算机视觉算法研究: 支持目标检测技术在特定领域的应用研究,促进AI在能源和公用事业行业的创新与发展。 专业培训与教育: 数据集可用于电力行业培训课程,作为工程师和技术人员学习电力线检测与识别的重要资源。 三、数据集优势 标注精准可靠: 每张图片均经过专业标注,确保电力线对象的定位准确,适用于高精度模型训练。 数据多样性丰富: 包含多种环境下的电力线图片,如空中视角,覆盖不同场景条件,提升模型的泛化能力和鲁棒性。 任务适配性强: 标注格式兼容YOLO等主流深度学习框架,便于快速集成和模型开发,支持目标检测任务的直接应用。 实用价值突出: 专注于电力线检测,为智能电网、自动化巡检和能源设施监控提供关键数据支撑,具有较高的行业应用价值。
【弹簧阻尼器】基于卡尔曼滤波弹簧质量阻尼器系统噪声测量实时状态估计研究(Matlab代码实现)内容概要:本文围绕“基于卡尔曼滤波的弹簧质量阻尼器系统噪声测量与实时状态估计”展开研究,利用Matlab代码实现对系统状态的精确估计。重点在于应用卡尔曼滤波技术处理系统中存在的噪声干扰,提升对弹簧质量阻尼器系统动态行为的实时观测能力。文中详细阐述了系统建模、噪声特性分析及卡尔曼滤波算法的设计与实现过程,展示了滤波算法在抑制测量噪声、提高状态估计精度方面的有效性。同时,该研究属于更广泛的信号处理与状态估计技术应用范畴,适用于复动态系统的监控与控制。; 适合人群:具备一定控制系统理论基础和Matlab编程经验的高校研究生、科研人员及工程技术人员,尤其适合从事动态系统建模、状态估计与滤波算法研究的相关人员。; 使用场景及目标:①应用于机械、航空航天、自动化等领域中对振动系统状态的高精度实时估计;②为噪声环境下的传感器数据融合与状态预测提供算法支持;③作为卡尔曼滤波算法在实际物理系统中应用的教学与科研案例。; 阅读建议:建议读者结合Matlab代码实践,深入理解系统建模与滤波器设计的关键步骤,关注噪声建模与滤波参数调优对估计性能的影响,并可进一步拓展至扩展卡尔曼滤波(EKF)或无迹卡尔曼滤波(UKF)在非线性系统中的应用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值