dev gridcontrol (一)綁定值


 

Dev組件包功能強大,但說明性的文檔太少也給我們使用帶來的很大的障礙。最近項目需要使用Dev控件,把點點滴滴記錄在這里備忘。

1,適當調整列寬(當列很多時)

   gridView1.OptionsView.ColumnAutoWidth= false;

   gridView1. BestFitColumns();

2,多選

    gridView1 .OptionsSelection.MultiSelect = true;

   gridView1 .OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.RowSelect;

3,添加復選框列

  添加一列,FieldName為 "check",將ColumnEdit 設置為 復選框 樣式。

  將要綁定的DataTable添加列 "check",Type 為 bool。

  綁定DataTable到GridControl。

  獲取: string value = gridview.GetDataRow(i)["check"].toString();

         value == "true" ||  "" ("false")

4,GroupPanel設置

gridView1.GroupPanelText="title";

gridView1.OptionsView.ShowGroupPanel=false;

 

 

gridView1.OptionsView.ShowGroupPanel = false;

取消顯示頭部的pannel

 gridView1.OptionsView.EnableAppearanceOddRow = true;

奇偶顯示

 

 選中變色

  gridView2.Appearance.FocusedRow.BackColor = System.Drawing.Color.RoyalBlue;

設成只讀

1. gridView1.OptionsBehavior.Editable = false;

2. gridView1.Columns[5].readonly= true;

 

左邊表頭去掉

gridView1.Options.OptionView .ShowIndicator=False;



 

--------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

取值1.

private void gridControl1_DoubleClick(object sender, System.EventArgs e)
        {
            //雙擊彈出異常日志描述
            if (this.gridView1.RowCount > 0)
            {
                int[] a=this.gridView1.GetSelectedRows();
                string str_GUID=this.gridView1.GetRowCellValue(a[0],"Ex_No").ToString();//獲得異常編號
                MessageBox.Show(str_GUID);
                frmExceptionLogDesc dlg=new frmExceptionLogDesc();
                dlg.Text = "異常日志查看";
                dlg.ShowDialog();
            }
        }

 

 取值2.

 

        private void gridControl1_DoubleClick(object sender, EventArgs e)
        {

           // DB.Help.UserInfo model = (sender as DevExpress.XtraGrid.GridControl).DataSource as DB.Help.UserInfo;
            if (this.gridView1.RowCount > 0)
            {

                int[] selectRow = this.gridView1.GetSelectedRows();

                DB.Help.UserInfo model = gridView1.GetRow(selectRow[0]) as DB.Help.UserInfo;
              //  string UserName = this.gridView1.GetRowCellValue(selectRow[0], "UserName").ToString();//獲得異常編號

                UserInfo ui = new UserInfo();
                ui.UserInfoModel = model;
                ui.Show();
            
            }
        }

 

 補充:

 


(6)barManager的具體設置
在增加了barManager控件以后,在[Click Here to add MainMenu] [Click Here to Tool Bar]里面選擇[Click Here to Tool Bar] 填寫需要新增的工具欄按鈕。
進入Designer 里面,選擇ToolBars  ->Custom 1->OptionsBar 里面進行如下設置:
AllowQuickCustomization=false
DrawDragBorder=false
RotateWhenVertical=false
UseWholeRow=True
以上4項進行初始化設置

(7) 在DataGrid 里面增加狀態欄
首先在BarManager里面增加StaticText  把新增的barStaticItem 的AutoSize 設置為Spring
然后,編寫以下代碼:


private void StateCote()
        {
          
            if (gridView1.RowCount!=0)
            {
                int a=this.gridView1.RowCount;
                barStaticItem1.Caption="當前共有記錄:"+a.ToString();
                int[] b=this.gridView1.GetSelectedRows();
                b[0]+=1;
                barStaticItem2.Caption="當前選中:"+b[0].ToString();
            }
            else
            {
                barStaticItem1.Caption="當前共有記錄:";
                barStaticItem2.Caption="當前選中:";
            }       
        }

        private void gridControl1_Click(object sender, System.EventArgs e)
        {
            StateCote();
        }

        private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
        {
            StateCote();
        }

(8) DateTable 填充DataGrid
這里需要引用:


using DevExpress.Utils;



/**//// <summary>
        /// 根據DataTable 填充DataGrid
        /// </summary>
        /// <param name="dt"></param>
        private void DisposeDataGrid(DataTable dt)
        {
            //標題居中
            gridView1.Appearance.HeaderPanel.TextOptions.HAlignment =HorzAlignment.Center;
           
            this.gridControl1.DataSource = dt;
            gridView1.Columns[0].Visible = false;//異常日志GUID
            gridView1.Columns[1].Visible = false;//通行編號
            gridView1.Columns[2].Visible = false;//通道編號
           
            gridView1.Columns[3].Caption = "通道名稱";
            gridView1.Columns[3].Width = 100;

            gridView1.Columns[4].Caption = "卡號";
            gridView1.Columns[4].Width = 100;

            gridView1.Columns[5].Caption = "持卡人姓名";
            gridView1.Columns[5].Width = 60;


            gridView1.Columns[6].Caption = "主卡卡號";
            gridView1.Columns[6].Width = 100;
           
            gridView1.Columns[7].Caption = "主卡持卡人";
            gridView1.Columns[7].Width = 60;
           
            gridView1.Columns[8].Caption = "通行時間";
            gridView1.Columns[8].Width = 100;


            gridView1.Columns[9].Caption = "車牌號碼";
            gridView1.Columns[9].Width = 60;
           
           
           
            gridView1.Columns[10].Visible = false;//圖象GUID


            gridView1.Columns[11].Caption = "異常描述";
            gridView1.Columns[11].Width = 100;

            gridView1.Columns[12].Caption = "處理結果";
            gridView1.Columns[12].Width = 100;

            gridView1.Columns[13].Visible = false;//ImageID


            //可以排序
            gridView1.OptionsCustomization.AllowSort=true;
        }
其中有一列顯示時間類型

            gridView1.Columns[3].Caption = "操作時間";
            gridView1.Columns[3].Width = 200;
            gridView1.Columns[3].UnboundType = DevExpress.Data.UnboundColumnType.DateTime;
            gridView1.Columns[3].DisplayFormat.FormatString = "F";
            gridView1.Columns[3].DisplayFormat.FormatType = FormatType.DateTime;

 


免責聲明!

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



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