DevExpress GridView 整理


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

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

2:如何 顯示出 GridView 自帶的 搜索功能

    -->  點擊 Run Designer  ->  找到: OptionsFind -> 將AlwaysVisible : 設置為 True

3:如何 將GridView 的大小自適應窗體的大小

    -->  右鍵 GridView 控件  -> 屬性  ->  找到 Dock : 設置為 Fill

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

    Code 注 :  其實就是重新創建了一個GridView的實例。

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;

5:在GridControl 中添加checkbox復選框

   --> gridView -> run designer -> columns -> 添加一列(如果沒有的話) 然后如圖設置

   -- >  另外當我們需要動態綁定grid數據時,DataTable 中列的名字要和我們在gridview中設置的FileName名字要移植,不然數據是顯示不出來的。

6:讓GridView 行 不可編輯

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

7 : 在GridView 行中添加Button按鈕

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

8 : GirdView行添加Button按鈕之后,觸發事件不可用.

   將GridView Editable 設置為True 讓GridView可編輯,如果不想讓它可編輯的話,在一列一列的進行設置.原因是:將GridView設置為不可編輯之后,那么鼠標點擊Button那一列只是選中而已,不會進行觸發事件.

9 : GridView 設置選中行的顏色

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

  BackColor :  MediumSlateBlue  背景色

 ForeColor :  White    前景色 字體顏色

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

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

 14 : 單元格雙擊響應 

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

15 : 獲取選中行的值

代碼:

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

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

16:將GridView 列表表頭固定,無Filter效果

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

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

 18、GridView 去除選中行虛線。

   Run Desginer -> Appearance : FocusRectStyle : none;

 。。。。。。


免責聲明!

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



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