|
 |
栏目导栏 |
|
| |
|
|
|
|
 |
资料搜索 |
|
| |
|
|
|
|
 |
热门文章 |
|
| |
|
|
|
|
 |
最新文章 |
|
| |
|
|
|
| |
| |
|
|
|
|
下面是我的例子中“变色”按键(ID:button2)的代码。实现了两种变色方式:指定位置变色,根据数据源条件判断结果来动态变色: YWaLinux联盟 YWaLinux联盟 -------------------X代码X----------------------------------------- YWaLinux联盟 YWaLinux联盟 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ YWaLinux联盟 YWaLinux联盟 Handles Button2.Click YWaLinux联盟 YWaLinux联盟 Dim dt As DataTable YWaLinux联盟 YWaLinux联盟 Dim ts As New DataGridTableStyle() YWaLinux联盟 YWaLinux联盟 Dim aColumnTextColumn As DataGridColoredTextBoxColumn '上面自定义的类 YWaLinux联盟 YWaLinux联盟 dt = DataSet11.Tables("table") ‘Dataset11请自已去定义,或者看一下我的前一篇文章 YWaLinux联盟 YWaLinux联盟 DataGrid1.DataSource = dt ‘数据源绑定 YWaLinux联盟 YWaLinux联盟 ts.MappingName = dt.TableName YWaLinux联盟 YWaLinux联盟 YWaLinux联盟 YWaLinux联盟 Dim numCols As Integer YWaLinux联盟 YWaLinux联盟 numCols = DataSet11.Tables("table").Columns.Count ‘统计列数 YWaLinux联盟 YWaLinux联盟 Dim i, j As Integer YWaLinux联盟 YWaLinux联盟 i = 0 YWaLinux联盟 YWaLinux联盟 j = 0 YWaLinux联盟 YWaLinux联盟 YWaLinux联盟 YWaLinux联盟 Do While (i < numCols) '重绘所有的列 YWaLinux联盟 YWaLinux联盟 aColumnTextColumn = New DataGridColoredTextBoxColumn() YWaLinux联盟 YWaLinux联盟 If i = 0 Then YWaLinux联盟 YWaLinux联盟 aColumnTextColumn.rowcollection.Add(0) ‘指定行数 YWaLinux联盟 YWaLinux联盟 aColumnTextColumn.rowcollection.Add(2) YWaLinux联盟 YWaLinux联盟 ReDim aColumnTextColumn.ForeColor(aColumnTextColumn.rowcollection.Count) YWaLinux联盟 YWaLinux联盟 ReDim aColumnTextColumn.BackColor(aColumnTextColumn.rowcollection.Count) YWaLinux联盟 YWaLinux联盟 '不赋值就是默认色,背景为白,前景为黑 YWaLinux联盟 YWaLinux联盟 aColumnTextColumn.ForeColor(0) = Color.Red YWaLinux联盟 YWaLinux联盟 aColumnTextColumn.ForeColor(1) = Color.Blue YWaLinux联盟 YWaLinux联盟 aColumnTextColumn.BackColor(0) = Color.Pink YWaLinux联盟 YWaLinux联盟 aColumnTextColumn.BackColor(1) = Color.Aqua YWaLinux联盟 YWaLinux联盟 End If YWaLinux联盟 YWaLinux联盟 If i = 1 Then YWaLinux联盟 YWaLinux联盟 For j = 0 To DataSet11.Tables("table").Rows.Count - 1 YWaLinux联盟 YWaLinux联盟 If DataSet11.Tables("table").Rows(j)(i) > 2 Then ‘判断列中哪一个cell会大于2 YWaLinux联盟 YWaLinux联盟 aColumnTextColumn.rowcollection.Add(j) YWaLinux联盟 YWaLinux联盟 ReDim ColumnTextColumn.ForeColor(aColumnTextColumn.rowcollection.Count) YWaLinux联盟 YWaLinux联盟 ReDim aColumnTextColumn.BackColor(aColumnTextColumn.rowcollection.Count) YWaLinux联盟 YWaLinux联盟 aColumnTextColumn.ForeColor(0) = Color.White YWaLinux联盟 YWaLinux联盟 aColumnTextColumn.BackColor(0) = Color.Black YWaLinux联盟 YWaLinux联盟 End If YWaLinux联盟 YWaLinux联盟 Next YWaLinux联盟 YWaLinux联盟 End If YWaLinux联盟 YWaLinux联盟 '要更改列头名,请改下句的HeaderText值 YWaLinux联盟 YWaLinux联盟 aColumnTextColumn.HeaderText = DataSet11.Tables("table").Columns(i).ColumnName YWaLinux联盟 YWaLinux联盟 aColumnTextColumn.MappingName = DataSet11.Tables("table").Columns(i).ColumnName YWaLinux联盟 YWaLinux联盟 ts.GridColumnStyles.Add(aColumnTextColumn) YWaLinux联盟 YWaLinux联盟 i = (i + 1) YWaLinux联盟 YWaLinux联盟 Loop YWaLinux联盟 YWaLinux联盟 DataGrid1.TableStyles.Add(ts) YWaLinux联盟 YWaLinux联盟 End Sub YWaLinux联盟 YWaLinux联盟 这里说明一点,判断时要注意类型的一致,在本例中,第二列的类型是数字型的,所以直接与数字2进行比对大小。 YWaLinux联盟 YWaLinux联盟 祝福您,下次见! YWaLinux联盟 YWaLinux联盟 YWaLinux联盟 YWaLinux联盟 ---- YWaLinux联盟 YWaLinux联盟 声明:本文版权与解释权归韩睿所有,如需转载,请保留完整的内容及此声明。 YWaLinux联盟 YWaLinux联盟 QQ: 18349592 YWaLinux联盟 YWaLinux联盟 E-Mail: henry7685@hotmail.com YWaLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论 |
|
|
|
|
|