C# WinFrm窗体 DevExpress GridControl使用

简述:这个控件来自于第三方控件,下面就根据我自己最近学习的一些东西,整合了一下,写了下面的内容,不全不完善的地方请大家谅解!

一、 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 ();
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值