Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net DataGridView格式_.net_Vb.net_Winforms_Datagridview - Fatal编程技术网

.net DataGridView格式

.net DataGridView格式,.net,vb.net,winforms,datagridview,.net,Vb.net,Winforms,Datagridview,我有一个DGV,列有“代码”和“名称” 取决于代码的长度,我想在“名称”单元格中添加表格,以显示数据的结构 如图所示: 怎么做更好?我认为有一种更好的方法,那就是对所有行进行循环并在名称前添加空格,对吗?您可以挂接到DataGridView.CellFormatting-Event。当需要时,将为每个单元调用该函数 编辑:这是评论中发布的代码Vadim的变体: Public Overrides Sub DGVCellFormatting(ByVal e As DataGridViewCellF

我有一个DGV,列有“代码”和“名称”

取决于代码的长度,我想在“名称”单元格中添加表格,以显示数据的结构

如图所示:


怎么做更好?我认为有一种更好的方法,那就是对所有行进行循环并在名称前添加空格,对吗?

您可以挂接到DataGridView.CellFormatting-Event。当需要时,将为每个单元调用该函数

编辑:这是评论中发布的代码Vadim的变体:

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

@瓦迪姆:是的,那是我的主意。谢谢。这个代码有效。如果DGVMain.Columns(e.ColumnIndex).Name=“Name”然后e.Value=Space(3*(DGVMain.Rows(e.RowIndex).Cells(“代码”).Value.ToString.Length-3))+e.Value.ToString,则Public将重写子DGVCellFormatting(ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs)