//配电房与设备列表 combotree public ActionResult PdrDevComboTreeMenuByPID(int pid = 0) { string strJson = "{ }"; string pdrlist = HomeController.GetPID(CurrentUser.UNITList); if (!string.IsNullOrEmpty(pdrlist) && !(pdrlist.Split(',')).Contains(pid.ToString())) { pid = -1; } //string pdrlist = CurrentUser.PDRList; //string strsql = "select * from ( select row_number() over(partition by did order by pid desc) as rownum , * from V_DeviceInfoState_PDR1 where DataTypeID!=23 and pid = " + pid + ") as T where T.rownum = 1 order by pid"; //if (!pdrlist.Equals("")) // strsql = "select * from ( select row_number() over(partition by did order by pid desc) as rownum , * from V_DeviceInfoState_PDR1 where DataTypeID!=23 and pid in (" + pdrlist + ") and pid = "+pid+") as T where T.rownum = 1 order by pid"; if (pid > 0) { string strsql = string.Format("select * from (" + "select row_number() over(partition by c.did order by c.pid desc) as rownum , a.tagID,a.CID,c.DID,c.PID,c.PName,c.DeviceName from " + " (select tagID,CID,PID from t_CM_PointsInfo where PID={0} and DataTypeID!=23) a " + " left join t_DM_CircuitInfo b on a.PID=b.PID and a.CID=b.CID " + " left join t_DM_DeviceInfo c on b.DID=c.DID and c.PID=b.PID ) as t" + " where t.rownum=1", pid); List <YWWeb.PubClass.ComboTree.V_DeviceInfoState> list = bll.ExecuteStoreQuery <YWWeb.PubClass.ComboTree.V_DeviceInfoState>(strsql).ToList(); if (list.Count > 0) { strJson = ComboTree.GetPdrDevComboTree(list); } } return(Content(strJson)); }
public List <ComboTree> GetComboTreeChildren2(ComboTree comboTree, ArticleCategoryInfo category, List <ArticleCategoryInfo> data) { var childrens = data.Where(s => s.Depth == category.Depth + 1 && s.Lft > category.Lft && s.Rgt < category.Rgt); var childs = new List <ComboTree>(); foreach (var productCategoryInfo in childrens) { var child = new ComboTree(); child.Id = productCategoryInfo.Id; child.Text = productCategoryInfo.Name; childs.Add(child); } comboTree.Children = childs; foreach (var child in comboTree.Children) { var temp = data.FirstOrDefault(s => s.Id == child.Id); if (temp != null) { this.GetComboTreeChildren2(child, temp, data); } } return(comboTree.Children); }
//配电房与变压器列表 combotree //用于电能质量 public ActionResult PdrTraComboTreeMenu(int ShowAll = 0) { if (CurrentUser == null) { return(Content("")); } string pdrlist = HomeController.GetPID(CurrentUser.UNITList); //string pdrlist = CurrentUser.PDRList; string DT = " DTID = 3 "; if (ShowAll > 0) { DT = " 1=1 "; } string strsql = "SELECT * FROM V_DeviceDetail where " + DT + " order by pid"; if (!pdrlist.Equals("")) { strsql = "SELECT * FROM V_DeviceDetail where " + DT + " and pid in (" + pdrlist + ") order by pid"; } List <V_DeviceDetail> list = bll.ExecuteStoreQuery <V_DeviceDetail>(strsql).ToList(); string strJson = ComboTree.GetPdrTraComboTree(list); return(Content(strJson)); }
public ActionResult DataTypeParamsByCircuit(int pid, int did, int cid, int DataType = 0) { string sqlstr = ""; if (cid > 0) { sqlstr = " and cid = " + cid; } if (DataType > 0) { sqlstr += " and DataTypeID = " + DataType; } //string strsql = "select CID,Cname,DTID,DID,TagID,TagName,CateName,TypeName,PID,PName,DeviceName,PV,Position,cast(REPLACE(DataTypeID,24,1) as int) " //+"DataTypeID,AlarmStatus,Units,Remarks,DeviceTypeName,ABCID,OrderBy,RecTime,中文描述 from V_DeviceInfoState_PDR1 where pid=" + pid + " and did=" + did + sqlstr + " and DataTypeID!=23 order by DataTypeID"; string strsql = string.Format("select TagID,TagName,PName,a.CID,b.CName,c.DID,c.PID,c.PName,c.DeviceName,a.DataTypeID,CateName" + ",c.OrderBy,ABCID,a.Remarks,a.Position,d.Name as TypeName, d.OrderNo,c.DTID,e.Name AS DeviceTypeName" + ",CAST(-9999.0 as float) as PV,'固定描述' as 中文描述,'--' as Units,'正常' as AlarmStatus,cast('1999-01-01' as datetime) as RecTime from (" + "(select tagID,TagName,CID,PID,cast(REPLACE(DataTypeID,24,1) as int) DataTypeID,ABCID,Remarks,Position from t_CM_PointsInfo where PID={0} and DataTypeID!=23 {1} ) a " + " left join t_DM_CircuitInfo b on a.PID=b.PID and a.CID=b.CID" + " left join t_DM_DeviceInfo c on b.DID=c.DID and c.PID=b.PID " + " left join t_CM_ValueType d on d.DataTypeID=a.DataTypeID " + " left join t_CM_DeviceType e on c.DTID=e.DTID ) order by a.DataTypeID", pid, sqlstr); List <V_DeviceInfoState_PDR1> list = bll.ExecuteStoreQuery <V_DeviceInfoState_PDR1>(strsql).ToList(); string strJson = ""; if (list.Count > 0) { strJson = ComboTree.GetDataTypeComboTree(list); } //strJson = "[{\"id\":2,\"text\":\"yundong\",\"children\":[{\"id\":3,\"text\":\"zuqiu\"},{\"id\":4,\"text\":\"lanqiu\"}]},{\"id\":7,\"text\":\"xueli\",\"children\":[{\"id\":8,\"text\":\"dazhuan\"},{\"id\":9,\"text\":\"benke\"}]}]"; return(Content(strJson)); }
//设备、通道、分区树 combotree public ActionResult DevChaZonParams() { //string pdrlist = CurrentUser.PDRList; string pdrlist = HomeController.GetPID(CurrentUser.UNITList); string strsql = "select * from t_cm_pointmapdts where pid in (" + pdrlist + ") and parentid = 0 order by did"; List <t_cm_pointmapdts> list = bll.ExecuteStoreQuery <t_cm_pointmapdts>(strsql).ToList(); string strJson = ComboTree.GetDevZoneComboTree(list); return(Content(strJson)); }
/// <summary> /// 为下拉树赋值 /// 2017/05/03(zhuguanjun) /// </summary> /// <param name="tree"></param> /// <param name="Value"></param> private void SetCMBT(ComboTree tree, string Value) { foreach (Node item in tree.Nodes) { if (item.Name == Value) { item.Checked = true; } item.Checked = true; } }
public ActionResult PositionParams(int did, string DataType = "") { if (!DataType.Equals("")) { DataType = " AND DataTypeID in (" + DataType + ")"; } string strsql = "SELECT * FROM t_CM_PointsInfo WHERE DID =" + did + DataType + " ORDER BY DataTypeID desc"; List <t_CM_PointsInfo> list = bll.ExecuteStoreQuery <t_CM_PointsInfo>(strsql).ToList(); string strJson = ComboTree.GetPositionComboTree(list); //strJson = "[{\"id\":2,\"text\":\"yundong\",\"children\":[{\"id\":3,\"text\":\"zuqiu\"},{\"id\":4,\"text\":\"lanqiu\"}]},{\"id\":7,\"text\":\"xueli\",\"children\":[{\"id\":8,\"text\":\"dazhuan\"},{\"id\":9,\"text\":\"benke\"}]}]"; return(Content(strJson)); }
/// <summary> /// 递归添加树的节点 /// </summary> /// <param name="ParentID">父级ID:默认为空</param> /// <param name="pNode">父级节点:默认为null,可选</param> /// <param name="table">表名:默认为City,可选参数:P</param> /// <param name="ControlName">控件名:必选</param> private void AddTree(string ParentID, Node pNode, string table, ComboTree ControlName) { if (ParentID == "") { ParentID = "D4"; } string ParentId = "City_ParentId"; string Code = "City_Code"; string Name = "City_Name"; try { DataTable dt = cm.SelCityTable(); if (table == "P") { ParentId = "ST_ParentId"; Code = "ST_Code"; Name = "ST_Name"; dt = pm.SelProfession(); } DataView dvTree = new DataView(dt); //过滤ParentID,得到当前的所有子节点 dvTree.RowFilter = string.Format("{0} = '{1}'", ParentId, ParentID); foreach (DataRowView Row in dvTree) { Node node = new Node(); if (pNode == null) { //添加根节点 node.Text = XYEEncoding.strHexDecode(Row[Name].ToString()); node.Tag = XYEEncoding.strHexDecode(Row[Code].ToString()); ControlName.Nodes.Add(node); AddTree(Row[Code].ToString(), node, table, ControlName); //展开第一级节点 node.Expand(); } else { //添加当前节点的子节点 node.Text = XYEEncoding.strHexDecode(Row[Name].ToString()); node.Tag = XYEEncoding.strHexDecode(Row[Code].ToString()); pNode.Nodes.Add(node); AddTree(Row[Code].ToString(), node, table, ControlName); //再次递归 } } } catch (Exception ex) { MessageBox.Show("加载数据失败,请检查服务器连接并尝试刷新.错误:" + ex.Message); } }
public ActionResult DataTypeParams(int pid, int did, int DataType = 0) { string sqlstr = ""; if (DataType > 0) { sqlstr = " and DataTypeID = " + DataType; } string strsql = "select CID,Cname,DTID,DID,TagID,TagName,CateName,TypeName,PID,PName,DeviceName,PV,Position,cast(REPLACE(DataTypeID,24,1) as int) DataTypeID,AlarmStatus,Units,Remarks,DeviceTypeName,ABCID,OrderBy,RecTime,中文描述 from V_DeviceInfoState_PDR1 where pid=" + pid + " and did=" + did + sqlstr + " and DataTypeID!=23 order by DataTypeID"; List <V_DeviceInfoState_PDR1> list = bll.ExecuteStoreQuery <V_DeviceInfoState_PDR1>(strsql).ToList(); string strJson = ComboTree.GetDataTypeComboTree(list); //strJson = "[{\"id\":2,\"text\":\"yundong\",\"children\":[{\"id\":3,\"text\":\"zuqiu\"},{\"id\":4,\"text\":\"lanqiu\"}]},{\"id\":7,\"text\":\"xueli\",\"children\":[{\"id\":8,\"text\":\"dazhuan\"},{\"id\":9,\"text\":\"benke\"}]}]"; return(Content(strJson)); }
//配电房与设备列表 combotree public ActionResult PdrDevComboTreeMenu() { string pdrlist = HomeController.GetPID(CurrentUser.UNITList); //string pdrlist = CurrentUser.PDRList; string strsql = "select * from ( select row_number() over(partition by did order by pid desc) as rownum , * from V_DeviceInfoState_PDR1 where DataTypeID!=23) as T where T.rownum = 1 order by pid"; if (!pdrlist.Equals("")) { strsql = "select * from ( select row_number() over(partition by did order by pid desc) as rownum , * from V_DeviceInfoState_PDR1 where DataTypeID!=23 and pid in (" + pdrlist + ")) as T where T.rownum = 1 order by pid"; } List <V_DeviceInfoState_PDR1> list = bll.ExecuteStoreQuery <V_DeviceInfoState_PDR1>(strsql).ToList(); string strJson = ComboTree.GetPdrDevComboTree(list); return(Content(strJson)); }
//回调遍历节点 private void AddTree(string ParentID, Node pNode, string table, ComboTree ct) { CityManager cm = new CityManager(); ProfessionManager pm = new ProfessionManager(); if (ParentID == "") { ParentID = "D4"; } string ParentId = "City_ParentID"; string Code = "City_Code"; string Name = "City_Name"; DataTable dt = cm.GetList("").Tables[0]; if (table == "P") { ParentId = "ST_ParentID"; Code = "ST_Code"; Name = "ST_Name"; dt = pm.GetList("").Tables[0]; } DataView dvTree = new DataView(dt); //过滤ParentID,得到当前的所有子节点 dvTree.RowFilter = string.Format("{0} = '{1}'", ParentId, ParentID); foreach (DataRowView Row in dvTree) { Node node = new Node(); if (pNode == null) { //添加根节点 node.Text = XYEEncoding.strHexDecode(Row[Name].ToString()); node.Tag = XYEEncoding.strHexDecode(Row[Code].ToString()); ct.Nodes.Add(node); AddTree(Row[Code].ToString(), node, table, ct); //展开第一级节点 node.Expand(); } else { //添加当前节点的子节点 node.Text = XYEEncoding.strHexDecode(Row[Name].ToString()); node.Tag = XYEEncoding.strHexDecode(Row[Code].ToString()); pNode.Nodes.Add(node); AddTree(Row[Code].ToString(), node, table, ct);//再次递归 } } }
public List <ComboTree> GetComboTreeArticleCategory(int id) { IArticleCategoryService articleCategoryService = new ArticleCategoryService(); var data = articleCategoryService.GetAllArticleCategory(); List <ComboTree> result = new List <ComboTree>(); var root = data.Where(s => s.Depth == id); foreach (var articleCategoryInfo in root) { var comboTree = new ComboTree(); comboTree.Id = articleCategoryInfo.Id; comboTree.Text = articleCategoryInfo.Name; comboTree.Children = GetComboTreeChildren2(comboTree, articleCategoryInfo, data); result.Add(comboTree); } return(result); }
public List <ComboTree> GetComboTreeCategory(int id) { IProductCategoryService productCategoryService = new ProductCategoryService(); var data = productCategoryService.GetProductCategory(); List <ComboTree> result = new List <ComboTree>(); var root = data.Where(s => s.Depth == id); foreach (var categoryInfo in root) { var comboTree = new ComboTree(); comboTree.Id = categoryInfo.Id; comboTree.Text = categoryInfo.Name; comboTree.Children = GetComboTreeChildren(comboTree, categoryInfo, data); result.Add(comboTree); } return(result); }
public static void LoadBatchListOnCombo(ComboTree cb, Action onChangedAction, int batchId = 0) { var loader = new BatchCollection(); if (batchId != 0) { loader.LoadItem(batchId); } else { loader.LoadAllItemsFromDb(); } cb.Nodes.Clear(); foreach (var item in loader.Items) { var node = new Node() { Name = item.Id.ToString(), Text = $@"{item.BatchName} - {item.Semester}", Tag = item, //Image = Properties.Resources.Address_Book_16 }; cb.Nodes.Add(node); } if (cb.Nodes.Count != 0) { cb.SelectedNode = cb.Nodes[cb.Nodes.Count - 1]; } if (onChangedAction != null) { cb.TextChanged += (s, e) => { onChangedAction(); } } ; } }
public static void GetMenuComboTree(IEnumerable <WeiXinMenu> kinds, List <ComboTree> children, string pId, List <string> data) { foreach (WeiXinMenu p in kinds.Where(c => c.ParentId == pId).OrderBy(c => c.OrderBy)) { ComboTree gt = new ComboTree(); gt.id = p.MenuId; gt.text = p.MenuName; List <ComboTree> childrenTmp = new List <ComboTree>(); GetMenuComboTree(kinds, childrenTmp, p.MenuId, data); gt.children = childrenTmp; if (childrenTmp.Count == 0 && data.Contains(p.Id.ToString())) { gt.@checked = true; } else { gt.@checked = false; } children.Add(gt); } }
public void TestInit() { _tree = new ComboTree(); }