.Columns(0).HeaderText = "เลขที่ผลิต" อยากได้หัวข้อcolumให้เป็นสี เขียนไงครับ
.Columns(0).HeaderStyle.ForeColor = Drawing.Color.Red
.Columns(0).HeaderStyle.BackColor = Drawing.Color.Green
Date :
2010-09-06 17:59:07
By :
burn
Code (VB.NET)
With DataGridView3
If .RowCount > 0 Then
.Columns(0).HeaderText = ("เลขที่ใบเสร็จ")
.Columns(1).HeaderText = ("รหัสพนักงาน")
.Columns(2).HeaderText = ("สถานะ")
.Columns(3).HeaderText = ("วันที่จ่าย")
.Columns(0).Width = 70
.Columns(1).Width = 80
.Columns(2).Width = 100
.Columns(3).Width = 100
End If
End With
เอา ไปใส่ตรงไหน ครับ
.Columns(0).HeaderStyle.ForeColor = Drawing.Color.Red
.Columns(0).HeaderStyle.BackColor = Drawing.Color.Green
Date :
2010-09-06 18:39:40
By :
novarsza
ไม่เห้นได้เลย
Date :
2010-09-07 12:55:18
By :
ชิน
แบบนี้ได้ไหมขอรับ
DataGridView3.Columns(0).HeaderCell.Style.BackColor = Color.Red
DataGridView3.EnableHeadersVisualStyles = False
ประวัติการแก้ไข 2010-09-07 13:37:16
Date :
2010-09-07 13:36:41
By :
kaimuk
แบบนี้ได้ไหมขอรับ
DataGridView3.Columns(0).HeaderCell.Style.BackColor = Color.Red
DataGridView3.EnableHeadersVisualStyles = False
ได้แล้วครับ
Date :
2010-09-07 15:03:37
By :
ชิน
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For i As Integer = 0 To Me.DataGridView1.ColumnCount - 1
Me.DataGridView1.Columns(i).Width = 70 'กว้างซัก 70
Next
Me.DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 'ยืดได้หดได้
Me.DataGridView1.ColumnHeadersHeight = Me.DataGridView1.ColumnHeadersHeight * 2 'ขยายความยาวเพื่อเตรียมสำหรับการ Merge
Me.DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter 'ให้ตัวหนังสืออยู่ ล่าง,กลาง
End Sub
Private Sub DataGridView1_ColumnWidthChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewColumnEventArgs) Handles DataGridView1.ColumnWidthChanged
Dim rec As Rectangle = Me.DataGridView1.DisplayRectangle 'เก็บค่า Location , x , y เข้าตัวแปร rec
rec.Height = Me.DataGridView1.ColumnHeadersHeight / 2 'ความสูงเอามาหาร 2 ซะ จะได้เหลือเฉพาะที่เรา วาดลงไป
Me.DataGridView1.Invalidate(rec) 'ทำให้มันกลับมาเป็นเหมือนเดิม
End Sub
Private Sub DataGridView1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles DataGridView1.Paint
Dim format As StringFormat = New StringFormat 'รูปแบบของตัวอักษร(หัวคอลัมน์ที่ Merge)
format.Alignment = StringAlignment.Center 'อยู่ตรงกลาง
'Group A
Dim recA As Rectangle = Me.DataGridView1.GetCellDisplayRectangle(0, -1, True) 'จุดเริ่มต้นของ Group A 0 คือ Index ของ คอลัมน์ ส่วน -1 คือ Index ของ แถวครับ
Dim widthA As Integer = Me.DataGridView1.Columns(1).Width 'ความกว้าง ค่าตรงนี้ยังไงก็ได้ 70 อยุ่แล้วแต่จะเกิดประโยชน์ตอนที่เรา Resize ความกว้างของ Column
recA.X += 1 'เผื่อขอบ
recA.Y += 1 'เผื่อขอบ
recA.Width = (recA.Width + widthA) - 2 'กว้าง ครอบคลุม 2 column
recA.Height = recA.Height / 2 - 2 'ยาว ครึ่งหนึ่ง
e.Graphics.FillRectangle(New SolidBrush(Color.LightBlue), recA) ' ทำการวาดพื้นลงไป ปรับแต่งค่าต่าง ๆ อยากได้สีอะไรเลือกเอาตามใจชอบนะครับ
e.Graphics.DrawString("A", New Font("ms sans serif", 12, FontStyle.Bold), Brushes.Blue, recA, format) 'วาดชื่อ column ที่ทำการ Merge ปรับแต่งค่าต่าง ๆ (font,สี)
'Group B
Dim recB As Rectangle = Me.DataGridView1.GetCellDisplayRectangle(2, -1, True) 'จุดเริ่มต้นของ Group B
Dim widthB As Integer = Me.DataGridView1.Columns(3).Width + Me.DataGridView1.Columns(4).Width 'ความกว้าง ถ้าใครมี logic ในการคำนวณดีกว่านี้ก็ตามสะดวกนะครับ
recB.X += 1
recB.Y += 1
recB.Width = (recB.Width + widthB) - 2 ' ครอบคลุม 3 column ถ้าใครมี logic ดีกว่านี้ก็ลองดูครับ
recB.Height = recB.Height / 2 - 2
e.Graphics.FillRectangle(New SolidBrush(Color.Orange), recB) 'เหมือน GroupA
e.Graphics.DrawString("B", New Font("ms sans serif", 12, FontStyle.Bold), Brushes.Red, recB, format) 'เหมือน GroupA
'Group C
Dim recC As Rectangle = Me.DataGridView1.GetCellDisplayRectangle(5, -1, True) 'จุดเริ่มต้นของ Group C
Dim widthC As Integer = Me.DataGridView1.Columns(6).Width + Me.DataGridView1.Columns(7).Width + Me.DataGridView1.Columns(8).Width 'ความกว้าง
recC.X += 1
recC.Y += 1
recC.Width = (recC.Width + widthC) - 2 ' ครอบคลุม 4 column
recC.Height = recC.Height / 2 - 2
e.Graphics.FillRectangle(New SolidBrush(Color.LightGreen), recC) 'เหมือน Group B
e.Graphics.DrawString("C", New Font("ms sans serif", 12, FontStyle.Bold), Brushes.Green, recC, format) 'เหมือน Group B
End Sub
End Class
Date :
2010-09-07 15:25:00
By :
สุพัฒน์
Load balance : Server 02