 |
|
VB.Net เปลี่ยนสีตารางตามเงื่อนไข ให้มีผลทุกฟิลด์ MS Flex Grid |
|
 |
|
|
 |
 |
|
อยากให้ สีตารางเปลี่ยนเป็น แดงเมื่อ เวลาเหลือ 1 เดือนอะครับ ตอนนี้มันแดงแค่ช่องแรกอย่างเดียว
(ตัวคำนวณวันไว้ก่อนก็ได้นะ ขอให้มันเขียวหรือแดงได้ทุกช่องก่อนอะ) (มี 4 ฟิลด์มันเขียงแดงแค่คนแรกอะครับ)
ดังรูปครับ

ขอบคุณที่ช่วยเหลือนะครับ
นี่โค๊ดที่ผมพยายามลองแล้ว
Code (VB.NET)
Private Sub ShowMSFG()
Dim n As String
Dim colordate As String
Dim sqlmsfg As String 'ประกาศค่าตัวแปร
Call formatmsfg
sqlmsfg = "SELECT * FROM Car ORDER BY ID ASC"
Set rs = conndb.Execute(sqlmsfg)
If rs.EOF = True Then 'ตรวจสอบว่ามีข้อมูลหรือไม่
' Call removemsfg
Else
'ลบข้อมูลในตารางดาด้ากิลทั้งหมด
Call RemoveMSFG
'แสดงข้อมูลลงในดาต้ากิลทีละแถวโดยเริ่มนับจาก N=0
With MSFlexGrid1
n = 1
Dim clcol As Integer
Dim i As Integer
clcol = 0
If clcol Mod 2 = 0 Then
For i = 1 To 15
.Col = i
.Row = clcol
Next i
End If
Do
.Rows = .Rows + 1
.TextMatrix(n, 0) = rs("ID")
.TextMatrix(n, 1) = rs("ID_EM")
.TextMatrix(n, 2) = rs("ID_IN")
.TextMatrix(n, 3) = rs("Name")
.TextMatrix(n, 4) = rs("Lastname")
.TextMatrix(n, 5) = rs("Name2")
.TextMatrix(n, 6) = rs("Lastname2")
.TextMatrix(n, 7) = rs("Address")
.TextMatrix(n, 8) = rs("Address2")
.TextMatrix(n, 9) = rs("Car_ID")
.TextMatrix(n, 10) = rs("Brand")
.TextMatrix(n, 11) = rs("Model")
.TextMatrix(n, 12) = rs("Car_Type")
.TextMatrix(n, 13) = rs("Car_Status")
.TextMatrix(n, 14) = rs("Date_IN")
.TextMatrix(n, 15) = rs("Date_OUT")
If rs("Date_OUT") >= Date + 31 Then
.CellBackColor = RGB(238, 0, 0)
.TextMatrix(n, 15) = rs("Date_OUT")
Else
.CellBackColor = RGB(0, 255, 0)
End If
n = n + 1
rs.MoveNext
Loop Until rs.EOF = True
End With
End If
Tag : .NET, VB.NET, VS 2005 (.NET 2.x), VS 2008 (.NET 3.x)
|
|
 |
 |
 |
 |
Date :
2014-04-19 22:55:35 |
By :
golfandnext5 |
View :
1586 |
Reply :
2 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอโทษนะครับทำได้แล้ว แต่ ขาด ที่มันไม่เช็ดเงื่อนไขให้ ผมเพิ่ม .Row=.Row+1 ไปแล้วแสดงได้ล่ะครับ
มันไม่ยอมเข้าเงื่อนไขให้ซะงั้น(อันหลังๆอะครับ)
|
 |
 |
 |
 |
Date :
2014-04-19 23:06:57 |
By :
golfandnext5 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ออกแล้วครับ ถึงแม้จะ ยังไม่สมบูรณ์แต่ก็เอาไปปรุกยุกต์เอาแล้วกันนะ สำหรับท่านอื่น
Code (VB.NET)
Private Sub ShowMSFG()
Dim n As String
Dim dateoutt As String
Dim sqlmsfg As String 'ประกาศค่าตัวแปร
Call formatmsfg
sqlmsfg = "SELECT * FROM Car ORDER BY ID ASC"
Set rs = conndb.Execute(sqlmsfg)
If rs.EOF = True Then 'ตรวจสอบว่ามีข้อมูลหรือไม่
' Call removemsfg
Else
'ลบข้อมูลในตารางดาด้ากิลทั้งหมด
Call RemoveMSFG
'แสดงข้อมูลลงในดาต้ากิลทีละแถวโดยเริ่มนับจาก N=0
With MSFlexGrid1
n = 1
dateoutt = Date + 31
Dim clcol As Integer
Dim i As Integer
clcol = 0
If clcol Mod 2 = 0 Then
For i = 1 To 15
.Col = i
.Row = clcol
Next i
End If
Do
.Rows = .Rows + 1
.TextMatrix(n, 0) = rs("ID")
.TextMatrix(n, 1) = rs("ID_EM")
.TextMatrix(n, 2) = rs("ID_IN")
.TextMatrix(n, 3) = rs("Name")
.TextMatrix(n, 4) = rs("Lastname")
.TextMatrix(n, 5) = rs("Name2")
.TextMatrix(n, 6) = rs("Lastname2")
.TextMatrix(n, 7) = rs("Address")
.TextMatrix(n, 8) = rs("Address2")
.TextMatrix(n, 9) = rs("Car_ID")
.TextMatrix(n, 10) = rs("Brand")
.TextMatrix(n, 11) = rs("Model")
.TextMatrix(n, 12) = rs("Car_Type")
.TextMatrix(n, 13) = rs("Car_Status")
.TextMatrix(n, 14) = rs("Date_IN")
.TextMatrix(n, 15) = rs("Date_OUT")
If rs("Date_OUT") >= dateoutt Then
.CellBackColor = RGB(238, 0, 0)
.TextMatrix(n, 15) = rs("Date_OUT")
.Row = .Row + 1
Else
.CellBackColor = RGB(0, 255, 0)
.TextMatrix(n, 15) = rs("Date_OUT")
.Row = .Row + 1
End If
n = n + 1
rs.MoveNext
Loop Until rs.EOF = True
End With
End If
End Sub
|
 |
 |
 |
 |
Date :
2014-04-19 23:18:15 |
By :
golfandnext5 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|