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跳到第一行.
随机推荐
- android学习笔记三
GUI==>Graphics User Interface,图形用户界面. android UI 建立在View.ViewGroup基础上,采用组合器设计模式设计View和ViewGoup. V ...
- pgsql 9.4修改数据库只读
先进入psql 切换到目标数据库 \c mydb 对于老表 grant usage on schema public to $read_only_user; grant select on all t ...
- 【springBoot】springBoot返回json的一个问题
首先看下面的代码 @Controller @RequestMapping("/users") public class UserController { @RequestMappi ...
- 就Double、Decimal来说数据计算异常
场景: 客户提示发料时提示库存不足,可肉眼比对发料数量与库存数量没有一点问题. 但调度跟踪却发现出现“不可思议”的异常. 简单分析: 1.转Decimal再计算没问题.精度较高,存储方法也不一样,所以 ...
- ios8 ios7 tableview cell 分割线左对齐
ios8中左对齐代码 //加入如下代码 -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cel ...
- iphone Dev 开发实例10:How To Add a Slide-out Sidebar Menu in Your Apps
Creating the Xcode Project With a basic idea about what we’ll build, let’s move on. You can create t ...
- OAF_OAF Exception Handling异常处理(概念)
2014-06-12 Created By BaoXinjian
- POJ-3461 Oulipo(KMP,模式串在主串中出现次数)
题意:给你两个字符串p和s,求出p在s中出现的次数. 显然,我们要先把模式串放到前面,之后主串放后面,中间隔开,这样就可以根据前缀数组的性质来求了. 我先想直接把p接到s前面,之后求Next数组对st ...
- [实变函数]2.2 聚点 (cluster point), 内点 (interior point), 界点 (boundary point)
设 $E\subset \bbR^n, P_0\in \bbR^n$. 1 若 $\exists\ U(P_0)\subset E$, 则称 $P_0$ 为 $E$ 的内点 (interior poi ...
- 7.4 gcd
# include<stdio.h>int main(){ int gcd(int a,int b); int n,i,x,y,c; scanf("%d",&n ...