自定义TreeList单元格 z

DevExpress Treelist自定义单元格,加注释和行序号。以上一节的列表为例,实现以下效果:预算大于110万的单元格突出显示,加上行序号以及注释,如下图:

添加行序号要用到CustomDrawNodeIndicator方法,要注意的是,取得的节点索引是从0开始的,所以要+1以便第一行从一开始算起。

[csharp] view plaincopy

  1. private void treeList1_CustomDrawNodeIndicator(object sender, CustomDrawNodeIndicatorEventArgs e)
  2. {
  3. TreeList tree = sender as DevExpress.XtraTreeList.TreeList;
  4. tree.IndicatorWidth = 30;
  5. IndicatorObjectInfoArgs args = e.ObjectArgs as IndicatorObjectInfoArgs;
  6. args.DisplayText = (tree.GetVisibleIndexByNode(e.Node) + 1).ToString();
  7. }

若要添加单元格注释,则要用到toolTipController控件。将其拉入界面中,并将Treelist的 tooltipcontroller属性设置为刚才的控件名称,然后定义控件的GetActiveObjectInfo事件,本例显示了单元格的内容、列 和节点的索引:

[csharp] view plaincopy

  1. private void toolTipController1_GetActiveObjectInfo(object sender, DevExpress.Utils.ToolTipControllerGetActiveObjectInfoEventArgs e)
  2. {
  3. if (e.SelectedControl is DevExpress.XtraTreeList.TreeList)
  4. {
  5. TreeList tree = (TreeList)e.SelectedControl;
  6. TreeListHitInfo hit = tree.CalcHitInfo(e.ControlMousePosition);
  7. if (hit.HitInfoType == HitInfoType.Cell)
  8. {
  9. object cellInfo = new TreeListCellToolTipInfo(hit.Node,hit.Column,null);
  10. string toolTip = string.Format("{0} (Colomn: {1}, Node ID: {2})", hit.Node[hit.Column],
  11. hit.Column.VisibleIndex, hit.Node.Id);
  12. e.Info = new DevExpress.Utils.ToolTipControlInfo(cellInfo,toolTip);
  13. }
  14. }
  15. }

最后,说一下自定义单元格,就是把符合条件的单元格按照定义的方式进行显示,例如本例是将预算大于110万的单元格背景变成粉色并且字体白色加粗显示。

[csharp] view plaincopy

  1. private void treeList1_NodeCellStyle(object sender, GetCustomNodeCellStyleEventArgs e)
  2. {
  3. if (e.Column.FieldName != "Budget") return;
  4. if (Convert.ToInt32(e.Node.GetValue(e.Column.AbsoluteIndex)) > 1100000)
  5. {
  6. e.Appearance.BackColor = Color.FromArgb(80,255,0,255);
  7. e.Appearance.ForeColor = Color.White;
  8. e.Appearance.Font = new Font(e.Appearance.Font, FontStyle.Bold);
  9. }
  10. }
时间: 2024-10-10 21:33:26

自定义TreeList单元格 z的相关文章

DevExpress XtraGrid网格控件示例六:自定义合并单元格

假设 "Order Date" 列中包含日期/时间值.如果视图的GridOptionsView.AllowCellMerge选项设置为true,若相邻两个单元格值是日期/时间值的话,这两个相邻单元格便会合并.下面的代码介绍了如何合并例单元格的日期部分,要覆盖默认的单元格合并机制,需要处理一下GridView.CellMerge事件. C# using DevExpress.XtraGrid.Views.Grid; // ... private void gridView1_CellMe

自定义表格单元格,及格式化日期字符串的示例

该实例演示在表格单元格中展示格式化的日期,并且使用UIDatePicker控件编辑日期. 实例使用分组风格的UITableViewController,用两种不同的UITableViewCell分别显示主要标题和NSDate数值,通过一个内建的名为UITableViewCellStyleValue1的单元格类型实现左右显示文本. 作为表格的委托,实例使用didSelectRowAtIndexPath方法打开UIDatePicker控件.UIDatePicker的动作方法将直接修改自定义表格单元格

Asp.net导出Excel续章(自定义合并单元格,非Office组件)

结合上次写的导出Excel方法,这次上头要求我将列头进行一下合并 以前的效果: 改进后的效果: 在上篇文章中写到了Excel的导出方法,这次为了避免在生产环境中使用Office组件,服务器各种权限配置的麻烦,这次就不使用Office组件来生成Excel了. 上篇文章:Asp.net导出Excel(HTML输出) 关键代码如下图: 说道这里,其实主要思路已经很明显了. 在数据绑定结束后,重新绘制表头替换掉原来的表头就行了. TableCell自定义表头的时候是table标签的,很方便. 另外发现了

EasyExcel使用及自定义设置单元格样式

固定模板方式,首先创建要Excel数据列模板:当然EasyExcel 中也可以动态自定义表头,其实都差不多一样 下面案例中,我采用一个固定模板方式,主要记录下,如何自定义单元格样式 这里是导出方法,主要是绑定样式,指定Excel文件生成的路径 public static String ExcelWrite(ExportParamDto excelData) { String fileName = getPath() + System.currentTimeMillis() + ".xlsx&qu

[Xcode10 实际操作]五、使用表格-(8)自定义UITableView单元格Accessory样式(附件图标)

本文将演示如何自定义单元格的附件图标. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 3 //首先添加两个协议. 4 //一个是表格视图的代理协议UITableViewDelegate 5 //另一个是表格视图的数据源协议UITableViewDataSource 6 class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSou

iOS:UITableViewCell自定义单元格

UITableViewCell:自定义的单元格,可以在xib中创建单元格,也可以在storyBorad中创建单元格.有四种创建方式 <1>在storyBorad中创建的单元格,它是静态的单元格,单元格一开始就存在,可以直接根据自定义的重用标识名加载使用: <2>当然,storyBorad中单元格也可以关联一个自定义的类,这个类必须是继承UITableViewCell,这种情况下,直接根据自定义的重用标识名加载使用也是可以的. <3>在xib中创建的单元格,如果直接通过b

Objective-C:UITableViewCell自定义单元格

UITableViewCell:自定义的单元格,可以在xib中创建单元格,也可以在storyBorad中创建单元格.有四种创建方式 <1>在storyBorad中创建的单元格,它是静态的单元格,单元格一开始就存在,可以直接根据自定义的重用标识名加载使用: <2>当然,storyBorad中单元格也可以关联一个自定义的类,这个类必须是继承UITableViewCell,这种情况下,直接根据自定义的重用标识名加载使用也是可以的. <3>在xib中创建的单元格,如果直接通过b

修改TreeList单元格格式(实现类似单元格合并效果)

关键点:(1)TreeList中显示的单元格默认不显示上.下.左.右边框,显示的是TreeList自身的行横边框.列纵边框,具体对应TreeList属性中OptionView项下的ShowVertLines.ShowHorzLines两项,将其对应默认值由默认False改为True即可去除行横边框.列纵边框,然后设置怎样的单元格格式显示什么样的单元格格式: (2)在*_CustomDrawNodeCell中修改函数,而不是*_NodeCellStyle中修改,另外需要注意,前者在后者前运行,因此

自定义单元格(IOS)

自定义单元格有三种方法 - 代码实现 - xib - storyboard(推荐) 在故事板中操作方法为 1.在TableView属性的Prototype Cells设置为1,默认为1: 2.需要创建自定义的单元格类: 3.设定Table View Cell的Class为自定义类: 自定义类:(并不难) #import "CustomCell.h" @implementation CustomCell - (void)awakeFromNib { // Initialization c