2010-03-18 51 views
1

我有一個DGV列「代碼」和「名稱」。DataGridView格式

取決於代碼的長度我想將表格添加到「名稱」單元格中,以顯示數據的結構。

一樣,在這樣的畫面:

https://lh3.ggpht.com/_DoguEKXT64k/S6Hoq7Eu7sI/AAAAAAAABRs/wwjf7TXTLmk/dgv.jpg

它是如何好做?我認爲有更好的方法,然後循環所有行並在名稱前添加空格,對嗎?

回答

3

您可以掛接到DataGridView.CellFormatting-Event。這將在需要時爲每個細胞所需。

編輯:這是代碼瓦迪姆張貼在評論的變體:

Public Overrides Sub DGVCellFormatting(ByVal e As DataGridViewCellFormattingEventArgs) 
    If DGVMain.Columns(e.ColumnIndex).Name = "Name" Then 
     Dim cellValue As String = DGVMain.Rows(e.RowIndex).Cells("Code").Value.ToString() 
     e.Value = cellValue.PadLeft(3 * (cellValue.Length - 3)) 
    End If 
End Sub 
+0

你的意思是在CellFormatting加入空格,對吧? – Vadim 2010-03-18 09:16:21

+0

@Vadim:是的,那是我的想法。 – Bobby 2010-03-18 10:07:21

+0

謝謝。此代碼有效。 公共覆蓋子DGVCellFormatting(BYVALË作爲System.Windows.Forms.DataGridViewCellFormattingEventArgs) 如果DGVMain.Columns(e.ColumnIndex)請將.Name = 「名稱」 那麼 e.Value =空間(3 *(DGVMain.Rows( e.RowIndex).Cells(「Code」).Value.ToString.Length - 3))+ e.Value.ToString – Vadim 2010-03-19 09:46:00