標籤:資料來源 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 那些事兒