2012年8月6日 星期一

Datagridview 畫出分隔線

Datagridview 原始的情況如下:


欄位和欄位之間有時會不好觀看…或是有別的需求需要把某些欄位特別的畫分出來的時候,我們就需要來個分隔線了…



所以利用 DataGridView 的 paint 事件來畫出分隔線…這邊用到的是 e.Graphics.DrawLine 指令…

完整的 vb.net 程式碼如下:



Private Sub DataGridView1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles DataGridView1.Paint

Dim columnOffset = 0

For Each column As DataGridViewColumn In DataGridView1.Columns
columnOffset += column.Width
e.Graphics.DrawLine(New Pen(Color.Black), columnOffset + 1, 0, columnOffset + 1, DataGridView1.Height)
Next

End Sub



這樣子的程式碼,就能讓 Datagridview 有下面這樣的結果:


可以看到分隔線已經出現了…

不過也許我們不希望每欄都被分隔…只想分隔特定的欄位的時候,那就要再針對上面的程式碼修改一下…



Private Sub DataGridView1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles DataGridView1.Paint

Dim columnOffset = 0
Dim count As Integer = 0

For Each column As DataGridViewColumn In DataGridView1.Columns

columnOffset += column.Width
If count = 7 Then
e.Graphics.DrawLine(New Pen(Color.Black), columnOffset + 1, 0, columnOffset + 1, DataGridView1.Height)
End If

count = count + 1
Next

End Sub



那得到的結果就會是下面這樣的情況:


這樣的畫面呈現就比較清楚了…

沒有留言:

張貼留言

留言請留下大名~謝謝。

Related Posts Plugin for WordPress, Blogger...