VB datagrid指定行着色
有图有真相:
关键点:使用datagrid的FetchRowStyle委托。
(Form界面的datagrid名称:dgv)
使用FetchRowStyle委托,要先打开开关:
dgv.FetchRowStyles = True
然后可以在FetchRowStyle委托里面更改datagrid每一行的单元格格式:
Private Sub dgv_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles dgv.FetchRowStyle
If dgv.Columns("HighLighte").CellValue(e.Row) = Then
e.CellStyle.BackColor = Color.Yellow
End If If dgv.Columns("HighLighte").CellValue(e.Row) = Then
e.CellStyle.BackColor = Color.YellowGreen
End If
End Sub
本例子是按照Lot No相同的record进行着色,在数据表里面增加一个着色标志:HighLighte,处理数据如下样子:
columns:Lot No ...... HighLighte
data:
BLI0011 ...... 0
BLI0012 ...... 0
BLI0016 ...... 1
BLI0016 ...... 1
BLI0016 ...... 1
BLI0016 ...... 1
BLI0017 ...... 2
BLI0017 ...... 2
. ...... .
. ...... .
然后在FetchRowStyle委托里面根据着色标志HighLighte进行着色。
为了处理成上面的结果,本人循环了两次,第一次处理的数据结果:
columns:Lot No ...... HighLighte
data:
BLI0011 ...... 0
BLI0012 ...... 0
BLI0016 ...... 1
BLI0016 ...... 2
BLI0016 ...... 3
BLI0016 ...... 4
BLI0017 ...... 1
BLI0017 ...... 2
. ...... .
. ...... .
code:
Private Sub dgvHighLighte(ByRef dgvData As DataTable)
Dim cstord As String = ""
Dim count As Integer =
Dim colorFlg As Integer =
For i As Integer = To dgvData.Rows.Count -
If dgvData.Rows(i).Item("cstord") <> cstord Then
cstord = dgvData.Rows(i).Item("cstord")
count =
colorFlg =
Else
count +=
colorFlg +=
End If
If count > Then
dgvData.Rows(i - ).Item("HighLighte") = colorFlg
dgvData.Rows(i).Item("HighLighte") = colorFlg +
End If
Next
dgvData.AcceptChanges()
End Sub
第二次处理数据的code:
Private Sub getNullColumns(ByRef dgvData As DataTable)
Dim colorFlg As Integer =
For Each row As DataRow In dgvData.Rows
If row.Item("HighLighte") = Then
If colorFlg = Then
colorFlg =
Else
colorFlg =
End If
End If
If row.Item("HighLighte") >= Then
row.Item("HighLighte") = colorFlg
End If
Next
dgvData.AcceptChanges()
End Sub
对每行的HighLighte进行判断,如果HighLighte=1就更改着色标志值,这样就可以令相同LotNo的record有相同的着色标志,相邻的不同lotNo的record有不同的着色标志。
这个处理过程进行了两次循环,诸位有更好的方法,承蒙赐教。
VB datagrid指定行着色的更多相关文章
- datagrid指定行合并导出
导出代码: public void GridViewToExcel(GridView ctrl, string FileType, string FileName) { HttpContext.Cur ...
- 扩充 jQuery EasyUI Datagrid 数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)
客户需求: jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) 如图所示,Datagrid 鼠标悬停/离开数据行时 ...
- 扩展 jQuery EasyUI Datagrid 数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)
客户需求: jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) 如图所示,Datagrid 鼠标悬停/离开数据行时 ...
- SQL 从指定表筛选指定行信息 获取表行数
1.获取指定表的行数 --获取表中数据行数 --select max([列名]) from 表名 2.筛选指定表的指定行数据(数据表分页获取) http://www.cnblogs.com/morni ...
- css3实现超出文本指定行数(指定文本长度)用省略号代替
测试代码: <!DOCTYPE html> <html> <head> <meta name="viewport" content=&qu ...
- 在Linux中使用vi打开文件时如何显示行号,及跳转到指定行
vi 文件名,打开文件后 如果要显示所有行号,使用 :set nu 如果要显示当前行号,使用 :nu 如果要跳转到指定行,使用 :行号 例如,跳转到第10行,使用 :10
- 【练习】数据移动---parfile导出表中指定行:
要求: ①创建存放数据的文件: ②使用默认的bad文件生成方式: ③使用truncate选项方式. 1.准备条件: [oracle@host03 ~]$ mkdir datadump [oracle@ ...
- DevExpress.XtraGrid.Views 设置指定行的背景颜色 .
如需要将指定行的背景设置颜色,可参考以下示例 1.事件:CustomDrawCell 2.示例: private void gridView1_CustomDrawCell(object sender ...
- vi之跳到指定行
vi里怎样跳转到某一指定行 输入 :行号 :$跳到最后一行 gg跳到第一行.
随机推荐
- MySQL时间戳和时间格式转换函数
MySQL时间戳和时间格式转换函数:unix_timestamp and from_unixtime unix_timestamp将时间转化成时间戳格式.from_unixtime将时间戳转化成时间格 ...
- ASP.NET地址栏form提交安全验证
以下类可以在web.config中直接配置,可以防范地址栏.表单提交的恶意数据. 安全模块作用: a.针对URL参数验证的功能,防止sql注入 b.针对form表单XSS漏洞的防护功能 c.针对上传文 ...
- Win7系统安装Centos7.0双系统(二)
4.6语言选择
- Smartclient发布的几个异常问题
1.不能下载.config文件 如果是iis6右键网站属性--->主目录--->配置 1.右键虚拟目录,在虚拟目录-配置-映射,应用程序扩展中删除.config 项目 2.IIS属性--& ...
- [系统集成] CI持续集成项目简介
一.问题的产生 公司的多个部门围绕着产品开发.测试.发布.维护,设置有不同的岗位和系统,这些岗位和系统缺少有效的整合,没有实现自动化,效率不是很高,因此就有了CI(持续集成)的项目需求. 二.解决方案 ...
- 关于 xcode 工程编译报错 undefined symbol _res_9_init的解决办法
将libresolv.dylib 添加到工程引用中(通过build phases中).补充: _res_9_init定义在resolv.h中,可以参考http://www.opensource. ...
- solr基于tomcat增加主界面登录权限
tomcat-user.xml增加下面标签(用户名,密码,角色)<user username="admin" password="new-password" ...
- PLSQL_性能优化工具系列02_SQL Tuning Health-Check Script (SQLHC)
2014-08-23 Created By BaoXinjian
- [实变函数]5.5 Riemann 积分和 Lebesgue 积分
1 记号: 一元函数 $f$ 在 $[a,b]$ 上的 (1)Riemann 积分: $\dps{(R)\int_a^b f(x)\rd x}$; (2)Lebesgue 积分: $\dps{(L)\ ...
- 利用Mathematica计算伴随矩阵
AdjointMatrix[M_] := Module[{Ma, B, n, i, j}, Ma = Minors[M]; B = Ma; n = Dimensions[M][[1]]; ...