Winfrom gricontrol添加数据源

项目场景:

gridcontrol比较普遍的添加数据源方式

 gridControl1.DataSource = ds.Tables[0].DefaultView;

但是我们经常需要改变某一列的类型为checkbox或者按钮类型,这时候我们就要用到另外一种添加数据源的方式


使用方法:

DataSet作为数据源

// 需要定义两个dev的参数
DevExpress.XtraGrid.Columns.GridColumn newcol;
DevExpress.XtraGrid.GridGroupSummaryItem newsum;
if (ds != null && ds.Tables[0].Rows.Count > 0)//数据集不为空
{
     this.gridControl1.DataSource = ds.Tables[0].DefaultView;//数据源确认
     this.gridView1.Columns.Clear();//清空原有列名、值、属性等
     int i = 0;
     foreach (System.Data.DataColumn col in ds.Tables[0].Columns)//遍历数据源
     {
         newcol = this.gridView1.Columns.Add();
         newcol.Name = col.ColumnName;
         newcol.FieldName = col.ColumnName;
         newcol.Width = Convert.ToInt32(ds.Tables[1].Rows[0][i].ToString());
         newcol.Caption = col.ColumnName;
         newcol.Visible = true;//该列是否可见
         newcol.OptionsColumn.ReadOnly = true;//该列是否只读

         if (newcol.Name == 列名)//ds里面的列名
         {
          	 newcol.Visible = false;//该列是否可见
         	 newcol.OptionsColumn.ReadOnly = flase;//该列是否只读
             newcol.ColumnEdit = ItemBottonMx;//列的属性
         }        

         if (newcol.ColumnType.ToString() == "System.Decimal")//ds中该列是数据类型
          {
          	//没有分组之前的汇总,分组即使筛选
            newcol.SummaryItem.FieldName = newcol.FieldName;
            newcol.SummaryItem.DisplayFormat = "{0:0.########}";
            //在gridcontrol的页脚显示计算后的数据
            newcol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum;//SUM求和Average
            newcol.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
            newcol.DisplayFormat.FormatString = "{0:0.########}";

            //分组后显示在分组头的汇总
            newsum = this.gridView1.GroupSummary.Add();
            newsum.FieldName = newcol.FieldName;
            newsum.DisplayFormat = "[" + newcol.Caption + ":{0:0.########}]";
            newsum.SummaryType = DevExpress.Data.SummaryItemType.Sum;
          }                       
       }
   }
   i = i + 1;
}

页脚显示数据求和
页脚显示数据求和


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值