简述:这个控件来自于第三方控件,下面就根据我自己最近学习的一些东西,整合了一下,写了下面的内容,不全不完善的地方请大家谅解!
一、 DevExpress GridControl 中绑定数据。
gridControl1.DataSource = dt;/*dt为DataTable 类型*/
二、DevExpress GridControl 添加复选框。
//添加复选框
dt.Columns.Add("选择", typeof(bool));
//设置复选框位置
dt.Columns["选择"].SetOrdinal(0);
//复选框赋予初始值 false
foreach (DataRow dr in dt.Rows)
{
dr["选择"] = false;
}
三、添加分组、统计。
gridView1.Columns["父节点"].GroupIndex = 0; //0为父节点
gridView1.Columns["子节点"].GroupIndex = 1; //1为子节点
//计算节点下的韩行数
gridView1.OptionsView.ShowFooter = true;
gridView1.GroupSummary.Add(DevExpress.Data.SummaryItemType.Count, "id",
gridView1.Columns["id"]);
//修改节点标题上方的显示文字,由 Count:‘具体行数’ 变为 合计: ‘具体行数’
((DevExpress.XtraGrid.GridSummaryItem)gridView1.GroupSummary[gridView1.GroupSummary.Count - 1]).DisplayFormat = "合计:{0:N0}";
//统计需要统计的子段和
gridView1.GroupSummary.Add(DevExpress.Data.SummaryItemType.Sum, "MAT_ACT_THICK", gridView1.Columns["字段"]);
//显示统计字段和的内容,为 厚度:”字段和实际值“
((DevExpress.XtraGrid.GridSummaryItem)gridView1.GroupSummary[gridView1.GroupSummary.Count - 1]).DisplayFormat = "厚计:{0:N0}";
四、斑马线隔行换色的实现
for (int i = 0; i < number; i++) //number 为数据行总行数
{
this.gridView1.OptionsView.EnableAppearanceEvenRow = true;
this.gridView1.OptionsView.EnableAppearanceOddRow = true;
if (i % 2 == 0)
{
//添加颜色
this.gridView1.Appearance.EvenRow.BackColor = Color.LightGreen;
}
}
五、获取某一行数据
string str= this.gridView1.GetRowCellValue(行号, "字段名称").ToString()
六、数据单元格居中显示
for (int i = 0; i < rows; i++)//rows为总列数
{
gridView1.Columns[i].AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
gridView1.Columns[i].AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
}
七、让行只能选择而不能编辑(或编辑某一单元格)
(1)、View->OptionsBehavior->EditorShowMode 设置为:Click
(2)、View->OptionsBehavior->Editable 设置为:false
八、禁用 GridControl 中单击列弹出右键菜单
设置 Run Design->OptionsMenu->EnableColumnMenu 设置为:false
九、隐藏 GridControl 的 GroupPanel 表头
设置 Run Design->OptionsView->ShowGroupPanel 设置为:false
A、禁用 GridControl 中列头的过滤器 过滤器如下图所示:
设置 Run Design->OptionsCustomization->AllowFilter 设置为:fal
B、根据单元格内容修改单元格底色:
private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
if (e.Column.FieldName == "MAT_ACT_LEN") //指定数据列
{ //条件
if (int.Parse(e.CellValue.ToString()) > 22744) //e.CellValue 为object类型
e.Appearance.BackColor = Color.Red;
}
}
C、显示水平滚动条
设置 this.gridView.OptionsView.ColumnAutoWidth = false;
…列表宽度自适应内容
gridview1.BestFitColumns();
D、显示行号
private void gvPayList_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
{undefined
e.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
if (e.Info.IsRowIndicator)
{undefined
if (e.RowHandle >= 0)
{undefined
e.Info.DisplayText = (e.RowHandle + 1).ToString();
}
else if (e.RowHandle < 0 && e.RowHandle > -1000)
{undefined
e.Info.Appearance.BackColor = System.Drawing.Color.AntiqueWhite;
e.Info.DisplayText = “G” + e.RowHandle.ToString();
}
}
}
E、如何让各列头禁止移动?
设置 gridView1.OptionsCustomization.AllowColumnMoving = false;
F、如何让各列头禁止排序?
设置 gridView1.OptionsCustomization.AllowSort = false;
G、如何禁止各列头改变列宽?
设置 gridView1.OptionsCustomization.AllowColumnResizing = false;
H.拖动滚动条时固定某一列
设置Columns,选择要固定的列。设置Fixed属性,可以选择:固定在左边、固定在右边、不固定。
I.获取选定行,指定列单元格的内容
return gridView1.GetRowCellValue(pRows[0], ColumName).ToString ();