原創|其它|編輯:郝浩|2011-12-28 23:58:03.000|閱讀 1044 次
概述:本文主要講述DevExpress.XtraGrid網格控件在顯示行號,圖標和文字等方面的一些使用經驗,希望的對大家有幫助。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
一、顯示行號
在列表中每一行的前面顯示當前的行號。
在GridView的屬性中找到 OptionsView->ShowIndicator,設置此屬性為true。
添加GridView 的 CustomDrawRowIndicator事件,代碼如下:
1 private void bandedGridView1_CustomDrawRowIndicator (object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e) 2 3 { 4 5 if(e.Info.IsRowIndicator) 6 7 { 8 9 if(e.RowHandle>=0) 10 11 { 12 13 e.Info.DisplayText = (e.RowHandle + 1).ToString(); 14 15 } 16 17 } 18 19 }
顯示的效果如下:
二 、在單元格中顯示圖標+文字
在Desinger中新增加一個列,設置其屬性 ColumnEdit的類型為ImageComboBoxEdit,如下圖所示:
在下拉列表中可看出能夠選擇的控件相當的多,這也就意味著如果我們需要可以在Grid的單元格中使用這些控件做出各種效果,各位如果有興趣可深入研究下其他控件的使用方法,應該大同小異吧。
設置完畢,在ColumnEdit的附屬屬性SmallImages選擇需要添加圖標的集合控件,關于圖標集合控件使用方法詳見前幾篇筆記。然后設置Items屬性,在彈出的屬性框內添加新項,如下圖所示:
由上圖可看出在右邊的Value屬性為與綁定值的比較,此處代表如果等于1,則顯示Up圖標,如果有其他的值那么繼續新增成員。
設置完畢后,效果如下圖:
Up和Down分別對應于綁定值為1和2。此處還要保證綁定值與設計時的值在類型上一致。
如果只想在單元格內顯示圖標,不顯示文字,應該怎么做呢?實際效果可參考OutLook中的郵件已讀和未讀標志圖標。
其實很簡單,只需設置Column屬性中的ColumnEdit->GlyphAlignment的值為Center既可。注意到GlyphAlignment可選擇Default、Near、Center、Far等值,分別是什么效果呢,各位可自行進行測試。
另外如何對表頭進行圖標設置呢?可先在Views的屬性中設置其Images屬性為某Images集合列表,然后在 Column屬性中ImageIndex屬性為所需要顯示的圖標序號,不想顯示表頭文字,只需要再設置 OptionColumn->ShowCaption為False即可。
三 、高亮顯示某單元格或者某行
在OutLook中,如果有沒有閱讀的郵件,在列表中這一行是高亮顯示的,使用XtraGrid控件可輕松實現此效果。
首先選擇Designer中的Apperance下的Format Conditions,新增一個格式化條件。
其次,設置此條件的屬性Apperance->Font為Bold,然后設置ApplyToRow為True,默認為False,如果為False則此格式化條件只適用于某一列中的值,如果為True,則此列所在的那一行都可適用與這個格式化條件。
然后,選擇此條件中的Column屬性為prname(示例中的列名),設置Condition為Equal,Value1為test1,這個條件表示如果在綁定的數據源中的prname等于test1,則把此行高亮顯示。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載