Henry手记:WinForm Datagrid结构剖析(二) 3
点击次数:12 次 发布日期:2008-11-26 11:13:55 作者:源代码网
|
源代码网推荐 源代码网推荐 -------------------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)。 源代码网推荐 源代码网供稿. |
