刚接触DevExpress第三方控件,把GridControl的常见用法整理一下,以供参考:
说明:
gcTest GridControl
gvText GridView
//隐藏最上面的GroupPanel 即去掉"Drag a Column Header Here To Group by that Column" gvText.OptionsView.ShowGroupPanel = false;
//修改最上面的GroupPanel gvText.GroupPanelText = "修改后的内容";
//单元格不可编辑 gvText.OptionsBehavior.Editable = false;
//某列标题居中 0是列索引 gvText.Columns[0].AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
//某列内容居中 0是列索引 gvText.Columns[0].AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
//冻结列 gvText.Columns[0].Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Left;
//自动改变行高适应内容 gvText.OptionsView.RowAutoHeight = true;
//显示自动筛选行 gvText.OptionsView.ShowAutoFilterRow = false;
//不显示字表信息 gvText.OptionsView.ShowDetailButtons = false; //显示水平滚动条,自动列宽 gvText.OptionsView.ColumnAutoWidth=false;
//自动调整列宽 gvText.BestFitColumns();
//禁用GridControl中单击列弹出右键菜单 gvText.OptionsMenu.EnableColumnMenu = false;
//禁用GridControl中列头的过滤器 gvText.OptionsCustomization.AllowFilter = false;
//禁止各列头移动 gvText.OptionsCustomization.AllowColumnMoving = false;
//禁止各列头排序 gvText.OptionsCustomization.AllowSort = false;
//禁止各列头改变列宽 gvText.OptionsCustomization.AllowColumnResizing = false;
//根据绑定的数据源自动产生列,有时可以解决GridControl记录能获取而没有显示出来的问题 gvText.PopulateColumns();
//奇偶行变色 gvText.OptionsView.EnableAppearanceEvenRow = true; gvText.OptionsView.EnableAppearanceOddRow = true; gvText.Appearance.EvenRow.BackColor = Color.Gray; gvText.Appearance.OddRow.BackColor = Color.GreenYellow;
//特殊列设置 日期 string strDate="yyyy-MM-dd HH:mm"; RepositoryItemDateEdit ride = new RepositoryItemDateEdit(); ride.DisplayFormat.FormatString = strDate; ride.EditFormat.FormatString = strDate; ride.EditMask = strDate; gvText.Columns["日期"].ColumnEdit = ride;//列格式设置 decimal 价格 public const string MoneyFormatStr = "##,###,###,###,##0.00"; RepositoryItemCalcEdit rice = new RepositoryItemCalcEdit(); rice.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; rice.DisplayFormat.FormatString = MoneyFormatStr; rice.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric; rice.EditFormat.FormatString = MoneyFormatStr; rice.EditMask = MoneyFormatStr; gv.Columns["价格"].ColumnEdit = rice;
//给单元格赋值 gvText.SetRowCellValue(3, gvText.Columns["列名或列索引"],"要赋的值"); //添加行 gvText.AddNewRow();
//添加列 DevExpress.XtraGrid.Columns.GridColumn col = new DevExpress.XtraGrid.Columns.GridColumn(); col.Caption = "列标题"; col.FieldName = "列字段值"; col.Visible = true; col.VisibleIndex = gvText.Columns.Count; gvText.Columns.Add(col); /// <summary> /// 获取选定行指定列单元格的值 /// </summary> /// <param name="str">指定列的列名</param> /// <returns>单元格的值</returns> public string GetCellValue(string str) { int[] pRows = this.gvText.GetSelectedRows(); if (pRows.GetLength(0) > 0){ return gvText.GetRowCellValue(pRows[0], str).ToString(); } else { return null; } }