2010-03-18 35 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