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         }
posted @ 2012-09-03 10:49  C#老头子  Views(617)  Comments(0Edit  收藏  举报