DevExpress GridView 那些事兒

來源:互聯網
上載者:User

標籤:資料來源   gridview   devexpress   

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 -> 添加一列(如果沒有的話) 然後設定

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6E/E0/wKioL1WKix2wkmEmAAMoRpe9Zo4699.jpg" title="241018300724116.jpg" alt="wKioL1WKix2wkmEmAAMoRpe9Zo4699.jpg" />

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

6:讓GridView 行 不可編輯

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

7 : 在GridView 行中添加Button按鈕
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那一列只是選中而已,不會進行觸發事件.

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

 在事件中添加代碼 :

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 : 儲存格雙擊響應 

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 : 擷取選中行的值

代碼:

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的區別:前者是容器,後者為視圖

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

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6E/E3/wKiom1WKieHRaU05AAK8iGiTxGI575.jpg" title="151709394835451.jpg" alt="wKiom1WKieHRaU05AAK8iGiTxGI575.jpg" />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;


本文出自 “Albin” 部落格,請務必保留此出處http://albin.blog.51cto.com/9047703/1665537

DevExpress GridView 那些事兒

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.