Dexpress 中 grid的使用
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的使用的更多相关文章
- EXTJS中grid的数据特殊显示,不同窗口的数据传递
//EXTJS中grid的数据特殊显示renderer : function(value, metaData, record, rowIndex, colIndex, store, view) { v ...
- WPF中Grid布局
WPF中Grid布局XMAl与后台更改,最普通的登录界面为例. <Grid Width="200" Height="100" > <!--定义 ...
- Ext中Grid重新load设置URL
一.前言 Extjs中grid网格有时候需要重新加载,加载的时候对应不同的URL,什么情况出现:有需要我们在添加附件的时候,添加完成了附件,需要把另一个show添加的数据重新加载到grid中,而 ...
- kendo ui中grid页面参数问题
kendo ui 中grid 算是最长用的控件之一,当使用分页效果时,我们要传递分页参数与自己定义的参数如: var dataSource = new kendo.data.DataSource({ ...
- 理解css中Grid布局,在项目中如何实现grid页面布局
简介 CSS中Grid是一种二维网格式布局方式.我们常规使用table.float.position.inline-block等布局,但它们遗漏了很多功能,例如垂直居中.后来css3中flexbox的 ...
- Winform中Grid跨行复制一列
Private Sub DataCopyToGrid() '判断剪切板中是否存在内容 If Clipboard.ContainsText Then Dim str = Clipboard.GetTex ...
- HTML5 Web app开发工具Kendo UI Web中Grid网格控件的使用
Kendo UI Web中的Grid控件不仅可以显示数据,并对数据提供了丰富的支持,包括分页.排序.分组.选择等,同时还有着大量的配置选项.使用Kendo DataSource组件,可以绑定到本地的J ...
- NSS_04 extjs中grid接收datetime类型参数列
今天在做用户列表时发现, asp.net mvc3的控制器在返回JsonResult结果时, 会把对象内的DateTime类型成员,解析为类似于\/Date(1238606590509)\/的格式 , ...
- [King.yue]Ext中Grid得到选择行数据的方法总结
(1)grid.getStore().getRange(0,store.getCount()); //得到grid所有的行 (2)grid.getSelectionModel().getSele ...
随机推荐
- JAVA BigDecimal 小数点处理
1,保留两位小数 方法一:{ double c=3.154215; java.text.DecimalFormat myformat=new java.text.DecimalFormat(" ...
- 3dmax导出到blend或者vs中
使用3dmax将模型导成obj格式的时候,可以导出材质或者不导出. 1.如果不导出,则按下图不勾选导出材质和创建材质库选项.这样生成的obj是可以直接再blend或者vs中打开的. 2.如果导出,不仅 ...
- __clone()方法和传址区别
示例: <?php class Computer{ public $name = '联想'; public function _run(){ return '运行中'; } } $comp1 = ...
- 第五课 CSS3 and H5 知识点
概要:CSS3美化样式.自定义字体图标.滤镜设置.CSS3选择器.transform2D转换.新增表单控件.vaild表单验证.表单样式美化等. 属性选择器: E[attr]只使用属性名,但没有确定任 ...
- Web GIS离线解决方案
1.背景 在离线环境下(局域网中)的GIS系统中如何使用地图?这里的地图主要指的是地图底图,有了底图切片数据,我们就可以看到地图,在上面加上自己的业务数据图层,进行相关操作. 要在离线环境下看到GIS ...
- mysql命令行修改字符编码
1.修改数据库字符编码 mysql> alter database mydb character set utf8 ; 2.创建数据库时,指定数据库的字符编码 mysql> create ...
- Xamarin 与VS2015RC(xamarin 3.11.450) 报空指针错误。
在Android开发中发现的一个“初步认为是调试器的bug”. 于早些时候发布在公司论坛上,传送门: http://www.newlifex.com/showtopic-1400.aspx 使用vs2 ...
- 整理:深度学习 vs 机器学习 vs 模式识别
http://www.csdn.net/article/2015-03-24/2824301 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等) http://developer ...
- Flex Layout Attribute
GitHub: https://github.com/StefanKovac/flex-layout-attribute 引入基本的样式,可以更好的布局,可以在线制作: http://progress ...
- D3中动画(transition函数)的使用
关于transition的几个基本点: 1. transition()是针对与每个DOM element的,每个DOM element的transition并不会影响其他DOM element的tra ...