devexpress 經驗筆記

一、去除 GridView 頭上的 "Drag a column header here to group by that column"

    -->  點擊 Run Designer  -> 找到:OptionView ->  將 ShowGroupPanel : 設置爲 false ;ide

二、如何顯示出 GridView 自帶的搜索功能

    -->  點擊 Run Designer  ->  找到: OptionsFind -> 將AlwaysVisible : 設置爲 True字體

三、如何將GridView的大小自適應窗體的大小

    -->  右鍵 GridView 控件  -> 屬性  ->  找到 Dock : 設置爲 Fillspa

四、當GridView數據源發生變化時,如何更改GridView所"綁定的值"

    Code注:其實就是從新建立了一個GridView的實例。code

1
2
3
4
5
1  gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView(gridControl1);
2  gridControl1.MainView = gridView1;
3  gridView1.OptionsView.ShowGroupPanel = false ;
4  gridView1.OptionsFind.AlwaysVisible = true ;
5  gridControl1.DataSource = dt;

五、在GridControl 中添加checkbox複選框

   --> gridView -> run designer -> columns -> 添加一列(若是沒有的話) 而後如圖設置-- >  另外當咱們須要動態綁定grid數據時,DataTable 中列的名字要和咱們在gridview中設置的FileName名字要移植,否則數據是顯示不出來的。blog

六、讓GridView 行 不可編輯

  -- > Run Designer -> OptionsBehavior -> Editable :  False事件

7 、在GridView 行中添加Button按鈕

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public void ButtonInitial()
         {
             RepositoryItemButtonEdit rib = new RepositoryItemButtonEdit();
             rib.TextEditStyle = TextEditStyles.HideTextEditor;
             rib.Buttons[ 0 ].Kind = ButtonPredefines.Glyph;
             rib.ButtonClick += rib_ButtonClick;
             rib.Buttons[ 0 ].Caption = "詳細信息" ;
             rib.Buttons[ 0 ].Visible = true ;
             gridView1.Columns[ "DOWNSTATE" ].ColumnEdit = rib;
 
         }
 
         void rib_ButtonClick(object sender, ButtonPressedEventArgs e)
         {
             int rowindex = gridView1.FocusedRowHandle;
             DataRow row = gridView1.GetDataRow(rowindex);
         }

8 、GirdView行添加Button按鈕以後,觸發事件不可用.

將GridView Editable 設置爲True 讓GridView可編輯,若是不想讓它可編輯的話,在一列一列的進行設置.緣由是:將GridView設置爲不可編輯以後,那麼鼠標點擊Button那一列只是選中而已,不會進行觸發事件.ci

9 、GridView 設置選中行的顏色

  GridView : Run Designer ->  Appearences : selectRow & FocusedRow (兩項都要設置)  get

  BackColor :  MediumSlateBlue  背景色string

 ForeColor :  White    前景色 字體顏色it

10 、GridView 設置標題行顏色

   GridView : Run Designer -> Appearences : HeadPanel  在這個屬性組中都是關於標題行的設置,再次不作詮釋.

    當設置完HeadPanel 其實並無結束,是不顯示效果的, 還須要設置 GridControl 屬性中 LookAndFeel : Style 設置爲ultraFlat , UseDefaultLookAndFeel  設置爲 False .

11 、GridView 設置標題行以及內容行 數據居中

 標題行 10 所述 在HeadPanel 裏有一個TextOptions  展開以後 將HAlignment :  Center  

 若是是將內容行數據居中.有兩種方法 1 : 逐行設置  2 : 設置Appearences

 1 : GridView -> Run Designer -> Columns  -> AppearanceCell ->  TextOptions 找到HAlignment :  Center .

 2 : GridView -> Run Designer -> Appearance ->  ViewCaption -> TextOptions -> HAlignment : Center

12 、GridView添加CheckBox並支持多選操做.

 GridView : Run Designer ->  OptionsSelection -> MultiSelect : True    MultiSelectMode : CheckBoxRowSelect

13 、GridView 添加序號列

  GridView : Run Designer ->  Event  -> CustomDrawRowIndicator

 在事件中添加代碼 :

1
2
3
4
5
6
7
8
9
10
11
12
13
e.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
             if (e.Info.IsRowIndicator)
             {
                 if (e.RowHandle >= 0 )
                 {
                     e.Info.DisplayText = (e.RowHandle + 1 ).ToString();
                 }
                 else if (e.RowHandle < 0 && e.RowHandle > - 1000 )
                 {
                     e.Info.Appearance.BackColor = System.Drawing.Color.AntiqueWhite;
                     e.Info.DisplayText = "G" + e.RowHandle.ToString();
                 }
             }

另外在 Run Desginer ->  IndicatorWidth  設置序號列的寬度 通常30左右就比較適合一些了.

14 、單元格雙擊響應 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void gridControl1_DoubleClick(object sender, EventArgs e)
         {
             MouseEventArgs arg = e as MouseEventArgs;
             if (arg == null )
                 return ;
 
             GridHitInfo hitInfo = gridView1.CalcHitInfo( new Point(arg.X, arg.Y)); //獲取座標點
             if (hitInfo.RowHandle >= 0 )
             {
                 DataRow row = gridView1.GetDataRow(hitInfo.RowHandle);
                 _list.Clear();
                 _list.Add(row[ 0 ].ToString());
                 gisResoureMonControl1.SetSelectResource(_list);
             }          
         }

15 、獲取選中行的值

代碼:

1
2
3
4
5
6
7
private void gridData_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
         {
              _id = GWEntLib.Utilities.Mix.ConvertUtils.ToInt32(gridData.GetRowCellValu(e.FocusedRowHandle, "Id" ));
              _emrFileReadList = EMRTemplateFileReadList.GetEMRTemplateFileReadList(_id);
             gridVersonData.DataSource = _emrFileReadList;
          
         }

響應事件:FocusedRowChanged
獲取字段值:gridData.GetRowCellValue(e.FocusedRowHandle, "Id")
注意:FocusedRowChanged是Gridview的事件而不是gridControl的事件
gridControl與Gridview的區別:前者是容器,後者爲視圖

1六、將GridView 列表表頭固定,無Filter效果

 1七、DevExpress GridView 獲取當前選中行的值。

1
2
3
1  int rowIndex = gridView1.FocusedRowHandle;
2  DataRow dr = gridView1.GetDataRow(rowIndex);
3  MessageBox.Show( "課件 \"" + dr.ItemArray[ 0 ].ToString() + "\" 下載成功" );

出處http://www.cnblogs.com/Albin/

相關文章
相關標籤/搜索