[VB.NET] การสลับสีพื้นหลัง Header ในแต่ละหลักของ DataGridView ในแบบ Run Time
http://www.g2gnet.com/webboard/images/vbnet/altercolorcolumn.pngสำหรับอันนี้ก็เป็นคำถามที่เข้ามาจากมิตรรักแฟนคลับสาวก Visual Basic ถามแอดมินผ่านมาทางเฟซบุ๊ค แอดมินก็เลยมาขอตอบให้ตรงนี้ล่ะกัน เผื่อให้คนอื่นๆเขาได้รับรู้กันบ้างครับพี่น้อง ... ที่ทำออกมาแล้วไม่ได้ผลอย่างที่ต้องการ ก็เพราะว่าข้ามรายละเอียดของการตั้งค่าบางอย่างไป ไปลองชิม เอ้ย ชมโค้ดดีกว่าแล้วคุณคงจะเข้าใจเองครับผม ... แอ่นนน แอ๊นนนน
มาดูโค้ดกันเถอะ ...
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
DataGridView1.Columns.Add("column1", "ลำดับ")
DataGridView1.Columns.Add("column2", "หมายเหตุ")
DataGridView1.Columns.Add("column3", "วันที่")
DataGridView1.Columns.Add("column4", "User")
'// ตั้งค่า ColumnHeadersHeightSizeMode ก่อนที่จะทำการปรับความสูงของแถวได้
DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
DataGridView1.ColumnHeadersHeight = 36
'// กำหนดให้ EnableHeadersVisualStyles = False เพื่อให้ยอมรับการเปลี่ยนแปลงสีพื้นหลัง
DataGridView1.EnableHeadersVisualStyles = False
' ตัวอย่างการปรับ Header Style
With DataGridView1.ColumnHeadersDefaultCellStyle
.BackColor = Color.Navy
.ForeColor = Color.Black
.Font = New Font("Tahoma", 9, FontStyle.Bold)
End With
For iCol As Integer = 0 To DataGridView1.Columns.Count - 1
'// คำนวณหาเลขคู่กับเลขคี่ หากเลขจำนวนเต็มใดๆหารเอาเศษ (Mod) ด้วย 2 แล้วได้คำตอบ 1 คือเลขคี่
If iCol Mod 2 = 1 Then
DataGridView1.Columns(iCol).HeaderCell.Style.BackColor = Color.DarkOrange
'// หารเอาเศษด้วย 2 ได้ 0 คือเลขคู่
Else
DataGridView1.Columns(iCol).HeaderCell.Style.BackColor = Color.DeepSkyBlue
End If
Next
End Sub
End Class
ขอบคุณครับ ขอบคุณมากครับ ขอบคุณครับ
หน้า:
[1]