grid 中加入checkbox

Run desiger

Columns

ColumnEdit中选择checkbox

此时我们要在后台手动指定一个数据列如下代码:

 dtRebatesReport.Columns.Add("MutiSelect", System.Type.GetType("System.Boolean")).DefaultValue = false;
dtRebatesReport.Columns.Add("PAYMENTSTATE1", System.Type.GetType("System.Boolean")).DefaultValue = false;
for (int i = ; i < dtRebatesReport.Rows.Count; i++)
{
DataRow dr = dtRebatesReport.Rows[i];
if (dr["PAYMENTSTATE"].ToString() == "")
{
dr["PAYMENTSTATE1"] = false;
}
else
{
dr["PAYMENTSTATE1"] = true;
} }

这里后台如果返回的是int数据,一定要手动转为bool  后台返回true不可用。

grid.GetRowCellValue(i,columnsName)    //取得指定单元格文件

grid.SetRowCellValue(i,columnsName,value)    //设定单元格传

如果gird中加入combox  找到combox名称。直接给值即可初始化

如下我们可以判断是否可编辑

 /// <summary>
/// 行焦点发生改变时,是否可编辑,可删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gvInComeDetailReport_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
{
GridView gv = sender as GridView;
if (e.FocusedRowHandle >= )
{
bool CanEdit = Convert.ToBoolean(gv.GetRowCellValue(e.FocusedRowHandle, this.gridColumn16));
if (CanEdit)
{
//已付 时不可编辑
this.gridColumn11.OptionsColumn.AllowEdit = false;
this.gridColumn12.OptionsColumn.AllowEdit = false;
this.gridColumn14.OptionsColumn.AllowEdit = false;
this.gridColumn15.OptionsColumn.AllowEdit = false;
}
else
{
this.gridColumn11.OptionsColumn.AllowEdit = true;
this.gridColumn12.OptionsColumn.AllowEdit = true;
this.gridColumn14.OptionsColumn.AllowEdit = true;
this.gridColumn15.OptionsColumn.AllowEdit = true;
} }
}

如下我们在更改单元格的值 时可计算

 private void gvInComeDetailReport_CellValueChanging(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
{
//选择列值改变
if (e.Column == this.gridColumn11)
{
if (!CommonUtils.isEmpty(CommonUtils.ObjectToString(e.Value)))
{
//折扣金额
string str1=CommonUtils.ObjectToString(gvInComeDetailReport.GetRowCellValue(e.RowHandle, this.gridColumn9));
string str2 = CommonUtils.ObjectToString(e.Value);
string money = string.IsNullOrEmpty(str1) ? "" : str1;
string SendMoney = string.IsNullOrEmpty(str2) ? "" : str2;
decimal v1, v2 = ;
decimal zkMoney = ;
if (decimal.TryParse(money, out v1))
{
zkMoney = v1;
}
decimal CellMoney = ; if (decimal.TryParse(SendMoney, out v2))
{
CellMoney = v2;
} gvInComeDetailReport.SetRowCellValue(e.RowHandle, this.gridColumn14,zkMoney+CellMoney); }
}
}

如下设置单元格颜色

        private void gvInComeDetailReport_RowCellStyle(object sender, RowCellStyleEventArgs e)
{
GridView gv = sender as GridView;
if (e.RowHandle >= )
{
bool CanEdit = Convert.ToBoolean(gv.GetRowCellValue(e.RowHandle, this.gridColumn16));
if (CanEdit)
{
e.Appearance.BackColor = Color.LightGray;
}
else
{
//获取所在行指定列的值
string state = this.gvInComeDetailReport.GetRowCellValue(e.RowHandle, "MutiSelect").ToString();
//比较指定列的状态
if (state == "True")
{
e.Appearance.BackColor = Color.BlueViolet;//设置此行的背景颜色
}
else
{
e.Appearance.BackColor = Color.White;//设置此行的背景颜色
} } }
}

合计各列数值

 decimal _customSum = ;
private void gvInComeDetailReport_CustomSummaryCalculate(object sender, DevExpress.Data.CustomSummaryEventArgs e)
{
GridView gridView = sender as GridView;
DataRow dr = gridView.GetDataRow(e.RowHandle);
if ("REBATEAMOUNT".Equals((e.Item as GridSummaryItem)) ||
"ADJUSTMENTAMOUNT".Equals((e.Item as GridSummaryItem).FieldName) ||
"ACTUALAMOUNT".Equals((e.Item as GridSummaryItem).FieldName)
)
{ if (!CommonUtils.isEmpty(CommonUtils.ObjectToString(dr[(e.Item as GridSummaryItem).FieldName])))
{
_customSum += Convert.ToDecimal(dr[(e.Item as GridSummaryItem).FieldName]);
}
e.TotalValue = _customSum;
} }

设置冻结列(左冻结)
gridView1.Columns[0].Fixed= DevExpress.XtraGrid.Columns.FixedStyle.Left;

设某一列文字和标题局中显示
gridView1.Columns[0].AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
gridView1.Columns[0].AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;

设置自动增加的行号,需要先添加给gridview添加事件CustomDrawRowIndicator

private void gridview_CustomDrawRowIndicator(object sender,                            DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
{
if (e.Info.IsRowIndicator && e.RowHandle >= )
e.Info.DisplayText = (e.RowHandle + ).ToString();
}

设置列宽

  this.gvNetAgentDailyReport.IndicatorWidth = Convert.ToInt32(Math.Ceiling(
CommonUtils.ObjectToString(this.dtNetAgentDailyReport.Rows.Count).Length * 7.1)) + ;

Dexpress 中 grid的使用的更多相关文章

  1. EXTJS中grid的数据特殊显示,不同窗口的数据传递

    //EXTJS中grid的数据特殊显示renderer : function(value, metaData, record, rowIndex, colIndex, store, view) { v ...

  2. WPF中Grid布局

    WPF中Grid布局XMAl与后台更改,最普通的登录界面为例. <Grid Width="200" Height="100" > <!--定义 ...

  3. Ext中Grid重新load设置URL

    一.前言    Extjs中grid网格有时候需要重新加载,加载的时候对应不同的URL,什么情况出现:有需要我们在添加附件的时候,添加完成了附件,需要把另一个show添加的数据重新加载到grid中,而 ...

  4. kendo ui中grid页面参数问题

    kendo ui 中grid 算是最长用的控件之一,当使用分页效果时,我们要传递分页参数与自己定义的参数如: var dataSource = new kendo.data.DataSource({ ...

  5. 理解css中Grid布局,在项目中如何实现grid页面布局

    简介 CSS中Grid是一种二维网格式布局方式.我们常规使用table.float.position.inline-block等布局,但它们遗漏了很多功能,例如垂直居中.后来css3中flexbox的 ...

  6. Winform中Grid跨行复制一列

    Private Sub DataCopyToGrid() '判断剪切板中是否存在内容 If Clipboard.ContainsText Then Dim str = Clipboard.GetTex ...

  7. HTML5 Web app开发工具Kendo UI Web中Grid网格控件的使用

    Kendo UI Web中的Grid控件不仅可以显示数据,并对数据提供了丰富的支持,包括分页.排序.分组.选择等,同时还有着大量的配置选项.使用Kendo DataSource组件,可以绑定到本地的J ...

  8. NSS_04 extjs中grid接收datetime类型参数列

    今天在做用户列表时发现, asp.net mvc3的控制器在返回JsonResult结果时, 会把对象内的DateTime类型成员,解析为类似于\/Date(1238606590509)\/的格式 , ...

  9. [King.yue]Ext中Grid得到选择行数据的方法总结

    (1)grid.getStore().getRange(0,store.getCount());    //得到grid所有的行 (2)grid.getSelectionModel().getSele ...

随机推荐

  1. express细节点注意

    删除 cookie 需要这么 res.cookie('admin_uid',"null",{maxAge:0, httpOnly:true, path:'/',domain:'.o ...

  2. tomcat端口被占用问题完美解决方案!

    启动Tomcat服务器报错:Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are alrea ...

  3. C# Stream

    转载:C# 温故而知新:Stream篇(一.二) http://www.cnblogs.com/JimmyZheng/archive/2012/03/17/2402814.html#no2 http: ...

  4. javase-->基础知识(二)

    1.算术运算符 7种:+,-,*,/,%,++,--;          --------------------注意不要想当然,按照类型规则来计算 ++在变量前,先加1再取变量使用 --同理 在变量 ...

  5. Restful API

    http://www.ruanyifeng.com/blog/2011/09/restful 参考资料:-------以网络为基础的应用软件的架构设计. Restful API的设计与实践 字数218 ...

  6. sql中NVARCHAR(MAX) 性能和占空间分析 varchar(n),nvarchar(n) 长度性能及所占空间分析

    varchar(n),nvarchar(n) 中的n怎么解释: nvarchar(n)最多能存n个字符,不区分中英文. varchar(n)最多能存n个字节,一个中文是两个字节. 所占空间: nvar ...

  7. ElasticSearch性能优化官方建议

    ES 手册 如何提高ES的性能 不要返回较大的结果集 ES是设计成一个搜索引擎的,只擅长返回匹配查询较少文档,如果需要返回非常多的文档需要使用Scroll. 避免稀疏 因为ES是基于Lucene来索引 ...

  8. 【JavaScript】ES6 新语法

    function* 声明 function* 声明(function关键字后跟一个星号)定义一个generator(生成器)函数,返回一个Generator对象. 生成器是一种可以从中退出并在之后重新 ...

  9. ppmoney 总结一

    1.JQ $.get() <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  10. 优化Linux内核参数

    转自:http://www.centoscn.com/CentOS/config/2013/0804/992.html vim /etc/sysctl.conf 1.net.ipv4.tcp_max_ ...