DevExpress學習筆記(四)-XtraGrid 的操作


DevExpress學習筆記

XtraGrid-個人較為感興趣的效果

一 顯示行號

在列表中每一行的前面顯示當前的行號。

在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,則把此行高亮顯示。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM