有图有真相:

关键点:使用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指定行着色的更多相关文章

  1. datagrid指定行合并导出

    导出代码: public void GridViewToExcel(GridView ctrl, string FileType, string FileName) { HttpContext.Cur ...

  2. 扩充 jQuery EasyUI Datagrid 数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)

    客户需求: jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) 如图所示,Datagrid 鼠标悬停/离开数据行时 ...

  3. 扩展 jQuery EasyUI Datagrid 数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)

    客户需求: jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) 如图所示,Datagrid 鼠标悬停/离开数据行时 ...

  4. SQL 从指定表筛选指定行信息 获取表行数

    1.获取指定表的行数 --获取表中数据行数 --select max([列名]) from 表名 2.筛选指定表的指定行数据(数据表分页获取) http://www.cnblogs.com/morni ...

  5. css3实现超出文本指定行数(指定文本长度)用省略号代替

    测试代码: <!DOCTYPE html> <html> <head> <meta name="viewport" content=&qu ...

  6. 在Linux中使用vi打开文件时如何显示行号,及跳转到指定行

    vi 文件名,打开文件后 如果要显示所有行号,使用 :set nu 如果要显示当前行号,使用 :nu 如果要跳转到指定行,使用 :行号 例如,跳转到第10行,使用 :10

  7. 【练习】数据移动---parfile导出表中指定行:

    要求: ①创建存放数据的文件: ②使用默认的bad文件生成方式: ③使用truncate选项方式. 1.准备条件: [oracle@host03 ~]$ mkdir datadump [oracle@ ...

  8. DevExpress.XtraGrid.Views 设置指定行的背景颜色 .

    如需要将指定行的背景设置颜色,可参考以下示例 1.事件:CustomDrawCell 2.示例: private void gridView1_CustomDrawCell(object sender ...

  9. vi之跳到指定行

    vi里怎样跳转到某一指定行 输入 :行号 :$跳到最后一行 gg跳到第一行.

随机推荐

  1. MySQL时间戳和时间格式转换函数

    MySQL时间戳和时间格式转换函数:unix_timestamp and from_unixtime unix_timestamp将时间转化成时间戳格式.from_unixtime将时间戳转化成时间格 ...

  2. ASP.NET地址栏form提交安全验证

    以下类可以在web.config中直接配置,可以防范地址栏.表单提交的恶意数据. 安全模块作用: a.针对URL参数验证的功能,防止sql注入 b.针对form表单XSS漏洞的防护功能 c.针对上传文 ...

  3. Win7系统安装Centos7.0双系统(二)

    4.6语言选择

  4. Smartclient发布的几个异常问题

    1.不能下载.config文件 如果是iis6右键网站属性--->主目录--->配置 1.右键虚拟目录,在虚拟目录-配置-映射,应用程序扩展中删除.config 项目 2.IIS属性--& ...

  5. [系统集成] CI持续集成项目简介

    一.问题的产生 公司的多个部门围绕着产品开发.测试.发布.维护,设置有不同的岗位和系统,这些岗位和系统缺少有效的整合,没有实现自动化,效率不是很高,因此就有了CI(持续集成)的项目需求. 二.解决方案 ...

  6. 关于 xcode 工程编译报错 undefined symbol _res_9_init的解决办法

    将libresolv.dylib 添加到工程引用中(通过build phases中).补充:    _res_9_init定义在resolv.h中,可以参考http://www.opensource. ...

  7. solr基于tomcat增加主界面登录权限

    tomcat-user.xml增加下面标签(用户名,密码,角色)<user username="admin" password="new-password" ...

  8. PLSQL_性能优化工具系列02_SQL Tuning Health-Check Script (SQLHC)

    2014-08-23 Created By BaoXinjian

  9. [实变函数]5.5 Riemann 积分和 Lebesgue 积分

    1 记号: 一元函数 $f$ 在 $[a,b]$ 上的 (1)Riemann 积分: $\dps{(R)\int_a^b f(x)\rd x}$; (2)Lebesgue 积分: $\dps{(L)\ ...

  10. 利用Mathematica计算伴随矩阵

    AdjointMatrix[M_] := Module[{Ma, B, n, i, j}, Ma = Minors[M];   B = Ma;   n = Dimensions[M][[1]];   ...