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 ...
随机推荐
- box-shadow、drop-shadow 和 text-shadow
1. box-shadow 合阴影, 对象选择器 {box-shadow:[投影方式] X轴偏移量 Y轴偏移量阴影模糊半径 阴影扩展半径 阴影颜色} box-shadow属性的参数设置取值: 阴影类型 ...
- Js/Jquery获取iframe中的元素
转载: Js/Jquery获取iframe中的元素 - - ITeye技术网站http://java-my-life.iteye.com/blog/1275205 在web开发中,经常会用到ifram ...
- JS学习进阶中 come on!
1,定义新的属性来扩展对象 新方法:defineProperty() 实例: var data = {}: Object.defineProperty(data,"type",{ ...
- python 旋转数组
#!/usr/bin/env python3 #-*-encoding:utf-8-*- l = [] u = [] q = 5 xx=[[col for col in range(q)] for r ...
- 基于SSM的租赁管理系统0.2_20161225_开发环境
项目环境搭建 1. 开发环境 Sybase PowerDesigner 15.1.0 + MySQL 5.7.15 + Navicat 11.0.9 + eclipse EE Mars 2.0 + F ...
- jquery动态合并表格行
利用<td rowspan = "num"/>;原理来实现,其中num为要合并的行数. <!DOCTYPE html> <html> <h ...
- 编译安装 varnish-4.1.2和yum 安装 varnish-4.0.3
vanish可以让用户自己选择缓存数据是存于内存还是硬盘,存于内存一般基于二八法则即常访问的数据是磁盘存储的总数据五分之一,因此内存也应该是硬盘文件大概五分之一.如果有多台vanish则,总内存满足即 ...
- java回调机制
http://www.cnblogs.com/heshuchao/p/5376298.html
- linux作业
第二单元 (1)以root用户登录GNOME图形界面 语言支持选择为汉语 (2)使用快捷键切换到虚拟终端2,使用普通用户身份登录,查看系统提示符 (3)使用命令退出虚拟终端2上登录的用户 (4)使用快 ...
- jsf初学selectOneMenu 绑定与取值
jsf 的selectOneMenu 最后生成的<select>标签.这里涉及到一个binding 起初一直不知道是干嘛的,后来参考了其他文章.就相当于在asp.net 中如:<as ...