dev中TreeList的应用(转)

如果需要在单元格添加时则用TreeList如果只是单纯读取数据或检索数据时则用GridControl

1.如果点击添加 时则添加TreeList的节点:

protected internal void btnAdd_Click(object sender, EventArgs e) { if (treeList1.Nodes.Count == 0) { TreeListNode node = treeList1.AppendNode(new object[] { 0}, -1); //数组中可写多个参数,但是每一个参数代表一列 } else { int dy = Convert.ToInt32(treeList1.Nodes.LastNode.GetValue("cID")); //获取最后一节点ID TreeListNode node = treeList1.AppendNode(new object[] { dy + 1 }, -1); }

}

2. cPort = treeList1.Nodes[i].GetDisplayText("cPort").ToString().Trim(); //获取单元格中的文本,cport代表列名

bool falge = Convert.ToBoolean(treeList1.Nodes[i].GetValue("cFlage")); //获取复选框的值,cFlage则代表列名

3.删除选中的节点

/// <summary> /// 最后选择的节点 /// </summary> TreeListNode deletenode;

private void treeList1_AfterFocusNode(object sender, DevExpress.XtraTreeList.NodeEventArgs e) { deletenode =e.Node; //获取最后的ID

}

public void btnDel_Click(object sender, EventArgs e) {

this.treeList1.DeleteNode(deletenode); //删除节点

}

4.给节点添加图片

treeListDevice.AppendNode(new object[] { id, type }, 0, 0, 0, 0); //0代表第几张图片代表根目录用的,-1代表子节点图片

5.给节点添加背景颜色

private void treeListConcentration_CustomDrawNodeCell(object sender, CustomDrawNodeCellEventArgs e) { string sql = "select 报警信息 from 实时监测数据 where 设备编号=‘" + nodeID + "‘"; DataTable dt = DataHelper.ExecuteDataTable(sql, DataHelper.DataBaseType.属性数据库); if (dt.Rows.Count > 0) { string co = ""; string wornInfo = dt.Rows[0]["报警信息"].ToString();

//string co = wornInfo.Substring(0, 1);//一氧化碳 //string h2s = wornInfo.Substring(1, 1);//硫化氢 //string cl2 = wornInfo.Substring(2, 1);//录气 //string O2 = wornInfo.Substring(3, 1);//氧气 //string hn3 = wornInfo.Substring(4, 1);//氨气 //string pid = wornInfo.Substring(5, 1);//光电离 //string hcl = wornInfo.Substring(5, 1);//椂化氢 string ch4 = wornInfo.Substring(6, 1);//甲烷 if (e.Node[1] != null) { if (e.Node[0].ToString().Trim() == "一氧化碳(ppm)") { message = wornInfo.Substring(0, 1);//一氧化碳 CellBackColor(e, message); } if (e.Node[0].ToString().Trim() == "硫化氢(ppm)") { message = wornInfo.Substring(1, 1);//硫化氢 CellBackColor(e, message); } if (e.Node[0].ToString().Trim() == "氯气(ppm)") { message = wornInfo.Substring(2, 1);//录气 CellBackColor(e, message); } if (e.Node[0].ToString().Trim() == "氧气(VOL%)") { message = wornInfo.Substring(3, 1);//氧气 CellBackColor(e, message); } if (e.Node[0].ToString().Trim() == "氨气(ppm)") { message = wornInfo.Substring(4, 1);//氨气 CellBackColor(e, message); //e.Appearance.BackColor = Color.Red; } if (e.Node[0].ToString().Trim() == "光电离(ppm)") { message = wornInfo.Substring(5, 1);//光电离 CellBackColor(e, message); //e.Appearance.BackColor = Color.Blue; } if (e.Node[0].ToString().Trim() == "氯化氢(ppm)") { message = wornInfo.Substring(6, 1);//椂化氢 CellBackColor(e, message); //e.Appearance.BackColor = Color.Blue; } if (e.Node[0].ToString().Trim() == "甲烷(LEL%)") { message = wornInfo.Substring(7, 1);//甲烷 CellBackColor(e, message); //e.Appearance.BackColor = Color.Blue; }

} }

}

//设置多个颜色

private void CellBackColor(CustomDrawNodeCellEventArgs e, string message) { switch (message) { case "Z"://传感器未打开

e.Appearance.BackColor = Color.Yellow; break; case "I"://传感器通信中断 e.Appearance.BackColor = Color.Blue; break; case "L"://传感器错误 e.Appearance.BackColor = Color.Brown; break; case "A"://传感器阈值报警 e.Appearance.BackColor = Color.Red; break; default: e.Appearance.BackColor = Color.Empty; break; } }

数据源绑定TreeList

//查询设备 public static void selectDevice(TreeList treeDevice) { string sql = "select dID,dName from DeviceMap "; DataTable dt= DataHelper.ExecuteDataTable(sql, DataHelper.DataBaseType.属性数据库); if (dt.Rows.Count>0) { for (int i = 0; i < dt.Rows.Count; i++) { string id = dt.Rows[i]["dID"].ToString(); string type = dt.Rows[i]["dName"].ToString(); treeDevice.AppendNode(new object[] { id,type }, -1); } } }

treeDevice.Columns["dID"].Caption = "类别"; treeDevice.Columns["dType"].Caption = "别名";

注意:必须得绑定字段

//中间插入节点

private void treeList2_CellValueChanged(object sender, DevExpress.XtraTreeList.CellValueChangedEventArgs e)//单元已有值就会增添一条空信息 { string name = e.Node.GetDisplayText(0); if (name != "") { TreeListNode node = treeList2.AppendNode(new object[] { "" }, -1);

treeList2.SetNodeIndex(node,e.Node.Id+1);

//treeList2.AppendNode(new object[] { "" }, -1); } }

获得选中的节点

nodeID = Convert.ToInt32(treeList1.FocusedNode.GetValue(treeListColumn6));

时间: 2024-08-09 06:35:28

dev中TreeList的应用(转)的相关文章

DEV中的TreeList控件应用的一个小效果实现【转载】

我使用最多的DEV控件就是这个TreeList啦,当然用好它很不简单,如果用好它,能做出很精彩的树形层次结构图.TreeList控件很强大,以至于你看DEV自带的DEMO,也得浪费你很长时间应用.DEV控件的DEMO只是告诉你有些什么功能,只是抛砖引玉,决不能照搬DEMO! 用好TreeList控件绝对会让你的软件锦上添花!精益求精促使我总想用TreeList实现出更好的效果,但对TreeList控件的每一步深入学习,都需要花费不要时间和精力.现在记录一下我学习使用该控件的一个小功能的过程. 就

DEV中的TreeList控件应用的一个小效果实现——个人总结

我使用最多的DEV控件就是这个TreeList啦,当然用好它很不简单,如果用好它,能做出很精彩的树形层次结构图.TreeList控件很强大,以至于你看DEV自带的DEMO,也得浪费你很长时间应用.DEV控件的DEMO只是告诉你有些什么功能,只是抛砖引玉,决不能照搬DEMO! 用好TreeList控件绝对会让你的软件锦上添花!精益求精促使我总想用TreeList实现出更好的效果,但对TreeList控件的每一步深入学习,都需要花费不要时间和精力.现在记录一下我学习使用该控件的一个小功能的过程. 就

plsql dev中Dynamic Performance Tables not accessible分析解决(转)

使用plsql dev的朋友多遇到过类此如下面的提示: Dynamic Performance Tables not accessible, Automatic Statistics Disabled for this session You can disable statistics in the preference menu,or obtanin select priviliges on the v$session,v$sesstat and v$statname tables 一.产生

DEV中添加graphics库未遂的解决方案

因为小学期老师要求打印一些图像 ,必须使用<graphics.h>库,但是DEV中没有相应的图形库,所以在网上百度了一些方法(然而并没有什么卵用),最后不得不妥协用visual studio2015+EasyX解决画图问题.下面介绍一下安装过程(其实挺简单的没什么好介绍的): 1.安装visual studio,如果全部装的话大概两个多小时,但只装C/C++等基本的东西一个多小时就够了(这在安装过程中可以自己选择的). 2.下载EasyX,选择文件中的setup.exe程序,然后它会自动检测v

DEV中svg图标的使用

0.开始之前 先看看使用效果 在操作栏的使用: 在菜单中的使用 1.简述SVG图标 中文名:可缩放矢量图形 外文名:Scalable Vector Graphics 外语缩写:SVG 开发商:万维网联盟 发行时间:1999年 格    式:矢量图 延伸至:可扩展标记语言 类    型:图形格式 2.DEV中使用SVG图标 this._btnSvgImageTest.ImageOptions.ImageToTextAlignment = DevExpress.XtraEditors.ImageAl

DEV的TreeList添加ToolTip信息

文章转载自:DevExpress控件中文网 [http://www.devexpresscn.com/] 您可以使用ToolTipController控件,然后通过ToolTipController.GetActiveObjectInfo事件来设置ToolTip 关键代码: private void toolTipController1_GetActiveObjectInfo(object sender, DevExpress.Utils.ToolTipControllerGetActiveOb

DEV winform treelist设置背景图像

treelist是一个复杂的控件,包括选中行,奇偶行等均可以单独设置显示效果,空白区域上背景图像的代码如下: private void treeList1_CustomDrawEmptyArea(object sender, DevExpress.XtraTreeList.CustomDrawEmptyAreaEventArgs e) { Image newImage = Image.FromFile("f:\\SampImag.png"); Point point = new Poi

DEV中dx:ASPxPopupControl 控件的使用(在窗口关闭或隐藏时,清楚文本框中的内容)

//在窗口关闭或隐藏时,清楚文本框中的内容(核心代码) function(s, e) { ASPxClientEdit.ClearGroup('entryGroup'); } <asp:Content ID="Content1" ContentPlaceHolderID="ContentHolder" runat="Server"> <script type="text/javascript"> //

使用Dev中的GridView进行数据增删操作

使用OracleHelper(一个C#操作Oracle数据库的工具类),连接的打开关闭全部交给OracleHelper去做. 进行增加数据信息时,新开增加数据信息的窗口,并且接受窗口的返回值,如果返回OK,对GridControl重新进行数据绑定. 1 AddForm1 add = new AddForm1(); 2 if (add.ShowDialog() == DialogResult.OK) 3 { 4 this.gridControl1.DataSource = DataSource()