DevExpress实现自定义TreeListNode的Tooltip的方法

本文实例展示了DevExpress实现自定义TreeListNode的Tooltip的方法,具体方法如下所示:

主要功能代码如下:

/// <summary>
/// 为节点提供Tooltip
/// 说明:
/// 1.设置tree.ToolTipController属性
/// 2.ToolTipController的GetActiveObjectInfo事件中使用
/// 3.举例
/// tlLHData.CustomNodeTooltip(e, node =>
///{
///  string _cabId = node.GetKeyID();
///  CCabInfo _cabinfo = LHDBHelper.GetCabInfo(_cabId);
///  if (_cabinfo != null)
///  {
///    return string.Format("核对时间:{0}\r\n在线情况:{1}\r\n最后一次活跃时间:{2}\r\n",
///               _cabinfo.ChkDataTime,
///               _cabinfo.CtuOnlineStatus == 1 ? "在线" : "未上线",
///               _cabinfo.LastAliveTime);
///  }
///  return string.Empty;
///});
/// </summary>
/// <param name="tree">TreeList</param>
/// <param name="e">ToolTipControllerGetActiveObjectInfoEventArgs</param>
/// <param name="builderNodeTooltipHandler">委托</param>
public static void CustomNodeTooltip(this TreeList tree, ToolTipControllerGetActiveObjectInfoEventArgs e, Func<TreeListNode, string> builderNodeTooltipHandler)
{
  if (e.SelectedControl is DevExpress.XtraTreeList.TreeList)
  {
 TreeList _tree = (TreeList)e.SelectedControl;
 TreeListHitInfo _hit = _tree.CalcHitInfo(e.ControlMousePosition);
 if (_hit.HitInfoType == HitInfoType.Cell)
 {
   TreeListViewInfo _viewInfo = _tree.ViewInfo;
   RowInfo _rowInfo = _viewInfo.GetRowInfoByPoint(e.ControlMousePosition);
   CellInfo _cellInfo = _rowInfo.Cells[_hit.Column.VisibleIndex] as CellInfo;
   EditHitInfo _editHitInfo = _cellInfo.EditorViewInfo.CalcHitInfo(e.ControlMousePosition);
   if (_editHitInfo.HitTest == EditHitTest.MaskBox)
   {
 string _toolTip = builderNodeTooltipHandler(_hit.Node);
 if (!string.IsNullOrEmpty(_toolTip))
   e.Info = new ToolTipControlInfo(_cellInfo, _toolTip);
   }
 }
  }
}

代码运行效果如下:

(0)

相关推荐

  • DevExpress TreeList 常见问题解决方法

    1. 如何给节点添加图片? 首先需要添加一个图片控件,然后给它加入图片,最后把TreeList的节点图片属性和图片控件绑定,代码如下: ImageList imagelist; private void 测试窗口_Load(object sender, EventArgs e) { con.ConnectionString = sqlconstr; DataTable dt = new DataTable; dt.Columns.Add("进程"); dt.Rows.Add("

  • DevExpress实现TreeList父子节点CheckState状态同步的方法

    本文实例展示了DevExpress实现TreeList父子节点CheckState状态同步的方法,在项目开发中有一定的应用价值,具体实现方法如下: 主要功能代码如下: /// <summary> ///同步父子节点勾选状态 ///说明 ///在AfterCheckNode事件中使用代码 ///eg:e.Node.SyncNodeCheckState(e.Node.CheckState); /// </summary> /// <param name="node&qu

  • DevExpress实现TreeList向上递归获取公共父节点的方法

    有时候在进行C#项目开发中,需要获取到公共节点,如下图所示: 譬如,当点击"Test103-2"节点,其类型是"灯"类型,那怎么获取到"中心区域"这个类型是"地域"的公共节点?对此具体实现方法如下: 主要功能代码如下: /// <summary> /// 向上递归,获取符合条件的父节点 /// </summary> /// <param name="node">需要向上递

  • DevExpress之TreeList用法实例总结

    本文实例总结了DevExpress之TreeList用法,希望对大家学习C#程序设计起到一定的帮助作用.具体实例如下: using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using DevExpress.XtraBars; using DevExpress.XtraTreeList; using DevExpress.XtraTreeList.Node

  • DevExpress实现TreeList按条件隐藏节点CheckBox的方法

    本文实例讲述了DevExpress实现TreeList按条件隐藏节点CheckBox的方法,在项目开发中有一定的使用价值.具体的实现方法如下: 主要功能代码如下: /// <summary> /// 隐藏CheckBox /// 说明 /// 在CustomDrawNodeCheckBox事件中使用 /// eg: /// TreeList _curTree = (TreeList)sender; /// _curTree.HideCheckBox(n => n.GetNodeType(

  • DevExpress实现TreeList节点互斥的方法

    本文实例讲述了DevExpress实现TreeList节点互斥的方法,具体实现方法如下所示: 主要功能代码如下: /// <summary> /// 节点互斥同步 /// 说明 /// eg: ///TreeListNode _node = e.Node; ///_node.SyncMutexNodeCheckState(_node.CheckState, n => n.GetNodeType() == NodeType.Cab); /// </summary> /// &l

  • DevExpress实现禁用TreeListNode CheckBox的方法

    很多时候在进行C#项目的实际开发中,会需要根据条件来设置节点不可勾选,查看DevExpress文档发现通过其CustomDrawNodeCheckBox和BeforeCheckNode事件组合使用可以达到,一般设置节点不可以勾选的规则是一样的,所以对代码进行稍微封装.本文实例就展示了DevExpress实现禁用TreeListNode CheckBox的方法.具体如下: 主要功能代码如下: /// <summary> /// 禁用CheckBox /// 说明 /// 在CustomDrawN

  • DevExpress设置TreeList图片节点背景色的方法

    本文实例展示了DevExpress设置TreeList图片节点背景色的方法,在项目开发中有一定的应用价值,具体方法如下所示: 主要功能代码如下: /// <summary> /// 设置图片节点的背景色 /// 说明:在CustomDrawNodeImages事件中使用 /// </summary> /// <param name="tree">TreeList</param> /// <param name="e&quo

  • DevExpress获取TreeList可视区域节点集合的实现方法

    本文实例展示了DevExpress获取TreeList可视区域节点集合的实现方法,是比较有实用价值的技巧.分享给大家供大家参考.具体实现方法如下: 关键代码如下: /// <summary> /// 获取可视区域节点 /// </summary> /// <param name="treeList">TreeList</param> /// <param name="conditonHanlder">条件委

  • DevExpress实现自定义TreeListNode的Tooltip的方法

    本文实例展示了DevExpress实现自定义TreeListNode的Tooltip的方法,具体方法如下所示: 主要功能代码如下: /// <summary> /// 为节点提供Tooltip /// 说明: /// 1.设置tree.ToolTipController属性 /// 2.ToolTipController的GetActiveObjectInfo事件中使用 /// 3.举例 /// tlLHData.CustomNodeTooltip(e, node => ///{ ///

  • Spring Boot下如何自定义Repository中的DAO方法

     环境配置介绍 jdk 1.8, spring Boot 1.5.3.RELEASE, MySQL, Spring Data, JPA 问题描述 Spring Data提供了一套简单易用的DAO层抽象与封装,覆盖的CURD的基本功能,但是在诸多的情况下,需要用户自定义DAO的实现方法,来实现更为复杂和精细的数据库访问操作,该如何来解决这个问题? 目标描述 这里我们以自定义testAA的方法为例,来介绍如何实现自定义的DAO方法扩展. 数据库表的定义 我们这里定义了一个非常简单的mycity表,来

  • asp.net MVC利用自定义ModelBinder过滤关键字的方法(附demo源码下载)

    本文实例讲述了MVC利用自定义ModelBinder过滤关键字的方法.分享给大家供大家参考,具体如下: 前面一篇主要讲解了如何利用ActionFilter过滤关键字,这篇主要讲解如何利用自己打造的ModelBinder来过滤关键字. 首先,我们还是利用上一篇<asp.net MVC利用ActionFilterAttribute过滤关键字的方法>中的实体类,但是我们需要加上DataType特性,以便于我们构造的ModelBinder通过DataTypeName识别出来: using System

  • thinkPHP2.1自定义标签库的导入方法详解

    本文详细讲述了thinkPHP2.1自定义标签库的导入方法.分享给大家供大家参考,具体如下: TP的手册似乎跟不上节奏, 对自定义标签只是寥寥几句, 摸索了N久, 终于将自定义的标签进行了导入. 心得如下: 1. 情况:  新建自定义的标签库类: @.Mylib.Tag.TagLibTest - 懂TP的应该知道这代表的路径 使用Examples下的Tag演示文件 <?php // +--------------------------------------------------------

  • Yii2实现自定义独立验证器的方法

    本文实例讲述了Yii2实现自定义独立验证器的方法.分享给大家供大家参考,具体如下: 新建一个文件: <?php /** * author : forecho <caizhenghai@gmail.com> * createTime : 2015/7/1 14:54 * description: */ namespace common\helps; use yii\validators\Validator; class ArrayValidator extends Validator {

  • Android编程自定义圆角半透明Dialog的方法

    本文实例讲述了Android编程自定义圆角半透明Dialog的方法.分享给大家供大家参考,具体如下: 效果图如下: 只是在实例化的时候使用带样式的构造函数即可 new MyDialog(GameActivity.this, R.style.dialog); 在value文件夹中添加mydialogthemes.xml <?xml version="1.0″ encoding=" utf-8″?> <resources> <style name="

  • WinForm实现自定义右下角提示效果的方法

    本文实例讲述了WinForm实现自定义右下角提示效果的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace IcoFl

  • Android开发自定义TextView省略号样式的方法

    本文实例讲述了Android开发自定义TextView省略号样式的方法.分享给大家供大家参考,具体如下: 在布局xml中设置textView的字段 android:maxLines="2"  android:ellipsize="end"字段之后,textview会自动压缩行数,并且对压缩掉的部分用...显示.如果不想用...而想用...或者... ...就需要自定义这个省略号的样式,不需要自定义控件,方法如下. 首先是布局文件 <TextView andro

随机推荐