DevGridContrl在行号处显示提示:当前行所有字段的值
1. 在GridControl.mmInit中创建ToolTipController:
ToolTipController1.GetActiveObjectInfo += this.myEvent_GetToolTip_OfFocusedRow
//创建ToolTop if (this.m_ToolTipController1 == null) { this.m_ToolTipController1 = new DevExpress.Utils.ToolTipController(); this.m_ToolTipController1.InitialDelay = 100; this.m_ToolTipController1.AllowHtmlText = true; this.m_ToolTipController1.IconSize = DevExpress.Utils.ToolTipIconSize.Large; this.m_ToolTipController1.ShowBeak = true; this.m_ToolTipController1.ToolTipType = DevExpress.Utils.ToolTipType.Standard; this.m_ToolTipController1.GetActiveObjectInfo += this.myEvent_GetToolTip_OfFocusedRow; this.ToolTipController = this.m_ToolTipController1; }
2. 在当前行的行号处显示ToolTip事件实现: myEvent_GetToolTip_OfFocusedRow
1 private void myEvent_GetToolTip_OfFocusedRow(object sender,DevExpress.Utils.ToolTipControllerGetActiveObjectInfoEventArgs e) 2 { 3 //if (e.SelectedControl != this) 4 //{ 5 // return; 6 //} 7 ToolTipControlInfo vTipCtrlInfo1 = null; 8 GridView vGridView = this.GetViewAt(e.ControlMousePosition) as GridView; 9 if (vGridView == null) 10 { 11 return; 12 } 13 14 GridHitInfo vHitInfo = vGridView.CalcHitInfo(e.ControlMousePosition); 15 if (vHitInfo.HitTest == GridHitTest.RowIndicator) 16 { 17 object o = vHitInfo.HitTest.ToString() + vHitInfo.RowHandle.ToString(); 18 StringBuilder vStringBuilder1 = new StringBuilder(); 19 20 vStringBuilder1.AppendLine(TSysInfo.SysInfo().Lang.mmGetCaption("鼠标指向当前行的所有列的详细内容如下:", -999)); 21 vStringBuilder1.AppendLine("-----------------------------------------------------"); 22 string vFieldValue = string.Empty; 23 foreach (GridColumn vColumn in vGridView.Columns) 24 { 25 if (vColumn.Visible) 26 { 27 vFieldValue = vGridView.GetRowCellDisplayText(vHitInfo.RowHandle, vColumn.FieldName) + " " ; 28 vStringBuilder1.AppendFormat(" {0}:{1}\r\n", vColumn.Caption, "<b>" + vFieldValue + "</b>"); 29 } 30 } 31 //MessageBox.Show(vStringBuilder1.ToString()); 32 vStringBuilder1.AppendLine("\r\n"); 33 vTipCtrlInfo1 = new ToolTipControlInfo(o, vStringBuilder1.ToString()); 34 if (vTipCtrlInfo1 != null) 35 { 36 e.Info = vTipCtrlInfo1; 37 } 38 } 39 }