用途:C1TrueDBGrid中某些欄位如果符合判斷標準時需整個row變色 及 lock住該cell(無法編輯)
關鍵1:FetchRowStyles 屬性
關鍵2:FetchRowStyle 方法
關鍵3:Columns("mycolumn").CellValue(e.Row)
關鍵4:e.CellStyle.ForeColor
關鍵5:e.CellStyle.Locked
step 1. 先宣告 Me.tdgrid.FetchRowStyles = True
step 2.叫出FetchRowStyle方法(如下)
Private Sub tdgrid_FetchRowStyle(ByVal sender As Object, _
ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles tdgrid.FetchRowStyle
If Me.tdgrid.Columns("mycolumn").CellValue(e.Row).ToString.Trim.Length > 0 Then
If Me.tdgrid.Columns("mycolumn").CellValue(e.Row).ToString.Trim = "N" Then
e.CellStyle.ForeColor = System.Drawing.Color.Red ' 欄位值為N的反紅
e.CellStyle.Locked = True ' 欄位值為N的不可編輯
ElseIf Me.tdgrid.Columns("mycolumn").CellValue(e.Row).ToString.Trim >= 60 Then
e.CellStyle.ForeColor = System.Drawing.Color.Blue
ElseIf Me.tdgrid.Columns("mycolumn").CellValue(e.Row).ToString.Trim < 60 Then
e.CellStyle.ForeColor = System.Drawing.Color.Gray
End If
End If
End Sub
ps:mycolumn為grid的欄位名稱
關鍵1:FetchRowStyles 屬性
關鍵2:FetchRowStyle 方法
關鍵3:Columns("mycolumn").CellValue(e.Row)
關鍵4:e.CellStyle.ForeColor
關鍵5:e.CellStyle.Locked
step 1. 先宣告 Me.tdgrid.FetchRowStyles = True
step 2.叫出FetchRowStyle方法(如下)
Private Sub tdgrid_FetchRowStyle(ByVal sender As Object, _
ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles tdgrid.FetchRowStyle
If Me.tdgrid.Columns("mycolumn").CellValue(e.Row).ToString.Trim.Length > 0 Then
If Me.tdgrid.Columns("mycolumn").CellValue(e.Row).ToString.Trim = "N" Then
e.CellStyle.ForeColor = System.Drawing.Color.Red ' 欄位值為N的反紅
e.CellStyle.Locked = True ' 欄位值為N的不可編輯
ElseIf Me.tdgrid.Columns("mycolumn").CellValue(e.Row).ToString.Trim >= 60 Then
e.CellStyle.ForeColor = System.Drawing.Color.Blue
ElseIf Me.tdgrid.Columns("mycolumn").CellValue(e.Row).ToString.Trim < 60 Then
e.CellStyle.ForeColor = System.Drawing.Color.Gray
End If
End If
End Sub
ps:mycolumn為grid的欄位名稱
全站熱搜
留言列表