本人目前從事的開發工作主要是以C#語言進行的相關C/S的開發,在工作中也要求使用Developer Express第三方控件所以這一系列的控件使用說明都將以C#語言進行代碼說明。平時工作中會慢慢的收集並總結一些此類控件的使用方法,但很少去寫此類的一些博客,所以寫的時候可能會比較亂,但我會慢慢改進不斷更新,希望通過個人的以及借鑒的一些經驗分享能夠幫助大家更好的使用Developer Express。
首先講一個今天剛搞的GridControl綁定toolTipController控件,顯示動態友好的tooltip提示。
在界面上添加DEV的toolTipController控件,在GridControl的屬性toolTipController中為其指定對應的toolTipController控件,一種綁定,然后就是我們偉大的toolTipController控件的事情啦,代碼如下:
private void toolTipController1_GetActiveObjectInfo(object sender, DevExpress.Utils.ToolTipControllerGetActiveObjectInfoEventArgs e) { GridControl gctl = e.SelectedControl as GridControl; if (gctl == null) return; ToolTipControlInfo Tooltip = null; try { GridView View = gctl.GetViewAt(e.ControlMousePosition) as GridView; if (View == null) return; GridHitInfo HitInfo = View.CalcHitInfo(e.ControlMousePosition); if (HitInfo.InRowCell) { Tooltip = new ToolTipControlInfo(new CellToolTipInfo(HitInfo.RowHandle, HitInfo.Column, "MR_OTHER_NAME"), GetCellHitText(View, HitInfo.RowHandle, HitInfo.Column)); Tooltip.Title = View.GetRowCellDisplayText(HitInfo.RowHandle, HitInfo.Column);//設置tooltip標題,根據需要設定 return; } if (HitInfo.HitTest == GridHitTest.RowIndicator) { Tooltip = new ToolTipControlInfo(GridHitTest.RowIndicator.ToString() + HitInfo.RowHandle.ToString(), "Row Handle: " + HitInfo.RowHandle.ToString()); Tooltip.Title = View.GetRowCellDisplayText(HitInfo.RowHandle, HitInfo.Column);//設置tooltip標題,根據需要設定 return; } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { e.Info = Tooltip; } }
上面代碼中的GetCellHitText方法主要是需要顯示在tooltip里面的具體內容,代碼如下:
/// <summary> /// 函數:GetCellHitText /// 功能:獲取目標關鍵字的內容文本 /// </summary> /// <param name="view"></param> /// <param name="rowHandle"></param> /// <param name="gridColumn"></param> /// <returns></returns> private string GetCellHitText(GridView view, int rowHandle, GridColumn gridColumn) { //此方法是為了需要在tooltip中顯示的內容需要另外轉譯等添加的,如只是簡單的提示可以省略此方法 string strTipContent = string.Empty; if (gridColumn.FieldName == "OTHER_NAME") { string strCode = view.GetRowCellDisplayText(rowHandle, "CODE"); strTipContent = FileInter.GetDetailContent(strCode, true);//獲取詳細信息 } return strTipContent; }
以上是簡單的陳述了下如何在gridControl上綁定toolTipController控件。關於toolTipController的顯示效果屬性中都比較明顯的可以找到,這里就不再進行過多說明,希望能夠幫到需要的人,當然如果存在問題也請大神們多多指點!