当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  Henry手记:WinForm Datagrid结构剖析(二) 3

 Henry手记:WinForm Datagrid结构剖析(二) 3

点击次数:12 次 发布日期:2008-11-26 11:13:55 作者:源代码网
源代码网推荐      下面是我的例子中“变色”按键(ID:button2)的代码。实现了两种变色方式:指定位置变色,根据数据源条件判断结果来动态变色:
源代码网推荐  
源代码网推荐  -------------------X代码X-----------------------------------------
源代码网推荐  
源代码网推荐  Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
源代码网推荐  
源代码网推荐  Handles Button2.Click
源代码网推荐  
源代码网推荐   Dim dt As DataTable
源代码网推荐  
源代码网推荐   Dim ts As New DataGridTableStyle()
源代码网推荐  
源代码网推荐   Dim aColumnTextColumn As DataGridColoredTextBoxColumn "上面自定义的类
源代码网推荐  
源代码网推荐   dt = DataSet11.Tables("table") ‘Dataset11请自已去定义,或者看一下我的前一篇文章
源代码网推荐  
源代码网推荐   DataGrid1.DataSource = dt ‘数据源绑定
源代码网推荐  
源代码网推荐   ts.MappingName = dt.TableName
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐   Dim numCols As Integer
源代码网推荐  
源代码网推荐   numCols = DataSet11.Tables("table").Columns.Count ‘统计列数
源代码网推荐  
源代码网推荐   Dim i, j As Integer
源代码网推荐  
源代码网推荐   i = 0
源代码网推荐  
源代码网推荐   j = 0
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐   Do While (i < numCols) "重绘所有的列
源代码网推荐  
源代码网推荐   aColumnTextColumn = New DataGridColoredTextBoxColumn()
源代码网推荐  
源代码网推荐   If i = 0 Then
源代码网推荐  
源代码网推荐   aColumnTextColumn.rowcollection.Add(0) ‘指定行数
源代码网推荐  
源代码网推荐   aColumnTextColumn.rowcollection.Add(2)
源代码网推荐  
源代码网推荐   ReDim aColumnTextColumn.ForeColor(aColumnTextColumn.rowcollection.Count)
源代码网推荐  
源代码网推荐   ReDim aColumnTextColumn.BackColor(aColumnTextColumn.rowcollection.Count)
源代码网推荐  
源代码网推荐   "不赋值就是默认色,背景为白,前景为黑
源代码网推荐  
源代码网推荐   aColumnTextColumn.ForeColor(0) = Color.Red
源代码网推荐  
源代码网推荐   aColumnTextColumn.ForeColor(1) = Color.Blue
源代码网推荐  
源代码网推荐   aColumnTextColumn.BackColor(0) = Color.Pink
源代码网推荐  
源代码网推荐   aColumnTextColumn.BackColor(1) = Color.Aqua
源代码网推荐  
源代码网推荐   End If
源代码网推荐  
源代码网推荐   If i = 1 Then
源代码网推荐  
源代码网推荐   For j = 0 To DataSet11.Tables("table").Rows.Count - 1
源代码网推荐  
源代码网推荐   If DataSet11.Tables("table").Rows(j)(i) > 2 Then ‘判断列中哪一个cell会大于2
源代码网推荐  
源代码网推荐   aColumnTextColumn.rowcollection.Add(j)
源代码网推荐  
源代码网推荐   ReDim ColumnTextColumn.ForeColor(aColumnTextColumn.rowcollection.Count)
源代码网推荐  
源代码网推荐   ReDim aColumnTextColumn.BackColor(aColumnTextColumn.rowcollection.Count)
源代码网推荐  
源代码网推荐   aColumnTextColumn.ForeColor(0) = Color.White
源代码网推荐  
源代码网推荐   aColumnTextColumn.BackColor(0) = Color.Black
源代码网推荐  
源代码网推荐   End If
源代码网推荐  
源代码网推荐   Next
源代码网推荐  
源代码网推荐   End If
源代码网推荐  
源代码网推荐   "要更改列头名,请改下句的HeaderText值
源代码网推荐  
源代码网推荐   aColumnTextColumn.HeaderText = DataSet11.Tables("table").Columns(i).ColumnName
源代码网推荐  
源代码网推荐   aColumnTextColumn.MappingName = DataSet11.Tables("table").Columns(i).ColumnName
源代码网推荐  
源代码网推荐   ts.GridColumnStyles.Add(aColumnTextColumn)
源代码网推荐  
源代码网推荐   i = (i + 1)
源代码网推荐  
源代码网推荐   Loop
源代码网推荐  
源代码网推荐   DataGrid1.TableStyles.Add(ts)
源代码网推荐  
源代码网推荐  End Sub
源代码网推荐  
源代码网推荐  这里说明一点,判断时要注意类型的一致,在本例中,第二列的类型是数字型的,所以直接与数字2进行比对大小。
源代码网推荐  
源代码网推荐  祝福您,下次见!
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐  ----
源代码网推荐  
源代码网推荐    声明:本文版权与解释权归韩睿所有,如需转载,请保留完整的内容及此声明。
源代码网推荐  
源代码网推荐  QQ: 18349592
源代码网推荐  
源代码网推荐  E-Mail: henry7685@hotmail.com
源代码网推荐  
源代码网推荐   请访问本人专栏:http://www.csdn.net/develop/author/netauthor/Latitude/  做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华