DevExpress_常用控制元件11_GridControl
2.3 GridControl
1、設計資料來源並繫結欄位:
DataTable dt = new DataTable(); dt.Columns.Add("name", System.Type.GetType("System.String")); dt.Columns.Add("sex", System.Type.GetType("System.String")); dt.Columns.Add("age", System.Type.GetType("System.String")); DataRow row=dt.NewRow();; row["name"] = "11"; row["sex"] = "ss"; row["age"] = "age"; dt.Rows.Add(row); //繫結欄位 gridView1.Columns[1].FieldName = "sex"; gridView1.Columns[2].FieldName = "age"; gridView1.Columns[0].FieldName = "name"; gridControl1.DataSource = dt;
2、 如何解決單擊記錄整行選中的問題
View->OptionsBehavior->EditorShowMode 設定為:Click
3、 如何新增一條記錄
(1)、gridView.AddNewRow()
(2)、實現 gridView_InitNewRow 事件
4、如何解決 GridControl 記錄能獲取而沒有顯示出來的問題
gridView.populateColumns();
5、如何讓行只能選擇而不能編輯(或編輯某一單元格)
(1)、View->OptionsBehavior->EditorShowMode 設定為:Click
(2)、View->OptionsBehavior->Editable 設定為:false
6、如何禁用 GridControl 中單擊列彈出右鍵選單
設定 Run Design->OptionsMenu->EnableColumnMenu 設定為:false
7、如何隱藏 GridControl 的 GroupPanel 表頭
設定 Run Design->OptionsView->ShowGroupPanel 設定為:false
8、如何禁用 GridControl 中列頭的過濾器 過濾器如下圖所示:
設定 Run Design->OptionsCustomization->AllowFilter 設定為:false
9、如何在查詢得到 0 條記錄時顯示自定義的字元提示/顯示 如圖所示:
方法如下:
//When no Records Are Being Displayed
private void gridView1_CustomDrawEmptyForeground(object sender, CustomDrawEventArgs e)
{
//方法一(此方法為GridView設定了資料來源繫結時,可用)
ColumnView columnView = sender as ColumnView;
BindingSource bindingSource = this.gridView1.DataSource as BindingSource;
if(bindingSource.Count == 0)
{
string str = "沒有查詢到你所想要的資料!";
Font f = new Font("宋體", 10, FontStyle.Bold);
Rectangle r = new Rectangle(e.Bounds.Top + 5, e.Bounds.Left + 5, e.Bounds.Right - 5, e.Bounds.Height - 5);
e.Graphics.DrawString(str, f, Brushes.Black, r); }
//方法二(此方法為GridView沒有設定資料來源繫結時,使用,一般使用此種方 法)
if (this._flag)
{
if (this.gridView1.RowCount == 0)
{ string str = "沒有查詢到你所想要的資料!"; Font f = new Font("宋體", 10, FontStyle.Bold);
Rectangle r = new Rectangle(e.Bounds.Left + 5, e.Bounds.Top + 5, e.Bounds.Width - 5, e.Bounds.Height - 5);
e.Graphics.DrawString(str, f, Brushes.Black, r); } } }
10、如何顯示水平滾動條
設定 this.gridView.OptionsView.ColumnAutoWidth = false;
列表寬度自適應內容
gridview1.BestFitColumns();
11、如何定位到第一條資料/記錄?
設定 this.gridView.MoveFirst()
12、如何定位到下一條資料/記錄? 設定 this.gridView.MoveNext()
13、如何定位到最後一條資料/記錄?
設定 this.gridView.MoveLast()
14、設定成一次選擇一行,並且不能被編輯
this.gridView1.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
this.gridView1.OptionsBehavior.Editable = false;
this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
15、如何顯示行號?
private void gvPayList_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e){
e.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
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();
}
}
}
16、如何讓各列頭禁止移動?
設定 gridView1.OptionsCustomization.AllowColumnMoving = false;
17、如何讓各列頭禁止排序?
設定 gridView1.OptionsCustomization.AllowSort = false;
18、如何禁止各列頭改變列寬?
設定 gridView1.OptionsCustomization.AllowColumnResizing = false;
19.拖動滾動條時固定某一列
設定Columns,選擇要固定的列。設定Fixed屬性,可以選擇:固定在左邊、固定在右邊、不固定。 |