轉帖|使用教程|編輯:我只采一朵|2014-06-24 09:46:25.000|閱讀 4572 次
概述:本文介紹一下DevExpress Treelist自定義單元格,加注釋和行序號。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
接著再介紹一下DevExpress Treelist自定義單元格,加注釋和行序號。以上一節的列表為例,實現以下效果:預算大于110萬的單元格突出顯示,加上行序號以及注釋,如下圖:
添加行序號要用到CustomDrawNodeIndicator方法,要注意的是,取得的節點索引是從0開始的,所以要+1以便第一行從一開始算起。
private void treeList1_CustomDrawNodeIndicator(object sender, CustomDrawNodeIndicatorEventArgs e) { TreeList tree = sender as DevExpress.XtraTreeList.TreeList; tree.IndicatorWidth = 30; IndicatorObjectInfoArgs args = e.ObjectArgs as IndicatorObjectInfoArgs; args.DisplayText = (tree.GetVisibleIndexByNode(e.Node) + 1).ToString(); }
若要添加單元格注釋,則要用到toolTipController控件。將其拉入界面中,并將Treelist的tooltipcontroller屬性設置為剛才的控件名稱,然后定義控件的GetActiveObjectInfo事件,本例顯示了單元格的內容、列和節點的索引:
private void toolTipController1_GetActiveObjectInfo(object sender, DevExpress.Utils.ToolTipControllerGetActiveObjectInfoEventArgs e) { if (e.SelectedControl is DevExpress.XtraTreeList.TreeList) { TreeList tree = (TreeList)e.SelectedControl; TreeListHitInfo hit = tree.CalcHitInfo(e.ControlMousePosition); if (hit.HitInfoType == HitInfoType.Cell) { object cellInfo = new TreeListCellToolTipInfo(hit.Node,hit.Column,null); string toolTip = string.Format("{0} (Colomn: {1}, Node ID: {2})", hit.Node[hit.Column], hit.Column.VisibleIndex, hit.Node.Id); e.Info = new DevExpress.Utils.ToolTipControlInfo(cellInfo,toolTip); } } }
最后,說一下自定義單元格,就是把符合條件的單元格按照定義的方式進行顯示,例如本例是將預算大于110萬的單元格背景變成粉色并且字體白色加粗顯示。
private void treeList1_NodeCellStyle(object sender, GetCustomNodeCellStyleEventArgs e) { if (e.Column.FieldName != "Budget") return; if (Convert.ToInt32(e.Node.GetValue(e.Column.AbsoluteIndex)) > 1100000) { e.Appearance.BackColor = Color.FromArgb(80,255,0,255); e.Appearance.ForeColor = Color.White; e.Appearance.Font = new Font(e.Appearance.Font, FontStyle.Bold); } }
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件