• <menu id="w2i4a"></menu>
  • logo DevExpress使用教程

    文檔首頁(yè)>>DevExpress使用教程>>DevExpress使用教程:GridView經(jīng)驗(yàn)小結(jié)

    DevExpress使用教程:GridView經(jīng)驗(yàn)小結(jié)


    下面是筆者自己總結(jié)的使用 DevExpress Gridview 的一些經(jīng)驗(yàn)小結(jié),分享給大家:

    DXperience Universal Suite下載

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

        -->  點(diǎn)擊 Run Designer  -> 找到:OptionView ->  將 ShowGroupPanel : 設(shè)置為 false ;

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

        -->  點(diǎn)擊 Run Designer  ->  找到: OptionsFind -> 將AlwaysVisible : 設(shè)置為 True

    3、如何將GridView的大小自適應(yīng)窗體的大小

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

    4、當(dāng)GridView數(shù)據(jù)源發(fā)生變化時(shí),如何更改GridView所"綁定的值"

        Code注:其實(shí)就是重新創(chuàng)建了一個(gè)GridView的實(shí)例。

    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復(fù)選框

       --> gridView -> run designer -> columns -> 添加一列(如果沒(méi)有的話) 然后如圖設(shè)置-- >  另外當(dāng)我們需要?jiǎng)討B(tài)綁定grid數(shù)據(jù)時(shí),DataTable 中列的名字要和我們?cè)趃ridview中設(shè)置的FileName名字要移植,不然數(shù)據(jù)是顯示不出來(lái)的。

    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 = "詳細(xì)信息";
                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按鈕之后,觸發(fā)事件不可用.

    將GridView Editable 設(shè)置為T(mén)rue 讓GridView可編輯,如果不想讓它可編輯的話,在一列一列的進(jìn)行設(shè)置.原因是:將GridView設(shè)置為不可編輯之后,那么鼠標(biāo)點(diǎn)擊Button那一列只是選中而已,不會(huì)進(jìn)行觸發(fā)事件.

    9 、GridView 設(shè)置選中行的顏色

      GridView : Run Designer ->  Appearences : selectRow & FocusedRow (兩項(xiàng)都要設(shè)置)  

      BackColor :  MediumSlateBlue  背景色

     ForeColor :  White    前景色 字體顏色

    10 、GridView 設(shè)置標(biāo)題行顏色

       GridView : Run Designer -> Appearences : HeadPanel  在這個(gè)屬性組中都是關(guān)于標(biāo)題行的設(shè)置,再次不做詮釋.

        當(dāng)設(shè)置完HeadPanel 其實(shí)并沒(méi)有結(jié)束,是不顯示效果的, 還需要設(shè)置 GridControl 屬性中 LookAndFeel : Style 設(shè)置為ultraFlat , UseDefaultLookAndFeel  設(shè)置為 False .

    11 、GridView 設(shè)置標(biāo)題行以及內(nèi)容行 數(shù)據(jù)居中

     標(biāo)題行 10 所述 在HeadPanel 里有一個(gè)TextOptions  展開(kāi)之后 將HAlignment :  Center  

     如果是將內(nèi)容行數(shù)據(jù)居中.有兩種方法 1 : 逐行設(shè)置  2 : 設(shè)置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 添加序號(hào)列

      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  設(shè)置序號(hào)列的寬度 一般30左右就比較適合一些了.

    14 、單元格雙擊響應(yīng) 

    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));//獲取坐標(biāo)點(diǎn)
                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;
             
            }

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

    16、將GridView 列表表頭固定,無(wú)Filter效果

     17、DevExpress GridView 獲取當(dāng)前選中行的值。

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

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


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();