Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.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
Vb.NET:在列表视图中绘制行号_Vb.net_Listview_Datagridview_Row_Gridlines - Fatal编程技术网

Vb.NET:在列表视图中绘制行号

Vb.NET:在列表视图中绘制行号,vb.net,listview,datagridview,row,gridlines,Vb.net,Listview,Datagridview,Row,Gridlines,欢迎大家,我有一个关于在ListView中绘制行号的问题,就像在DataGridView中一样。我正在使用VisualStudio2010 在DataGridView中,我使用以下代码绘制行号: Private Sub SalesDGV_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles SalesDGV.RowPostPaint 'draw the row

欢迎大家,我有一个关于在ListView中绘制行号的问题,就像在DataGridView中一样。我正在使用VisualStudio2010

在DataGridView中,我使用以下代码绘制行号:

Private Sub SalesDGV_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles SalesDGV.RowPostPaint
    'draw the row number
    Using b As SolidBrush = New SolidBrush(SalesDGV.RowHeadersDefaultCellStyle.ForeColor)
        e.Graphics.DrawString(e.RowIndex + 1, _
                               SalesDGV.DefaultCellStyle.Font, _
                               b, _
                               e.RowBounds.Location.X + 20, _
                               e.RowBounds.Location.Y + 4)
    End Using
End Sub
以及我的DataGridView中的结果:

我希望我的ListView行号具有与DataGridView完全相同的样式,但ListView在默认情况下似乎不支持这种样式,我需要一个自定义控件

我知道有些人会建议我改用back DataGridView,但我改用ListView的原因是,如果我不填充数据,DataGridView会给我空白区域,而ListView允许我在不填充任何数据的情况下使用网格线

所以我有两个问题:

如何像在DataGridView中一样在ListView中用数字绘制行标题? 即使我不填充任何数据,我也可以在DataGridView中显示网格线吗?如果可能的话,我怎样才能做到呢? 谢谢

我是否可以在DataGridView中显示网格线,即使我没有 填充任何数据?如果可能的话,我怎样才能做到呢

如果用空格填充数据表并将其用作数据源,则gridview将有网格线,但看起来没有数据

大概是这样的:

    Dim dt As New DataTable
    'Column to hold row numbers
    dt.Columns.Add(" ")
    'Number of columns
    For I = 1 To 5
        dt.Columns.Add(I.ToString)
    Next
    'Number of rows
    For I = 1 To 10
        'Extra column holds the row number
        dt.Rows.Add({I.ToString," ", " ", " ", " ", " "})
    Next
    SalesDGV.DataSource = dt
如何插入它以使网格线仍然存在,并且 数据是否相应地插入行中


将数据放入数据表。只需检查空数据,并将其改为空格。如果要从数据库添加数据,一种方法是在datatable的列和行中循环查找空数据并将其更改为空格。如果数据来自某个文件,您可能已经有了一个可以用来修改数据的循环。

Hi,感谢您的回复!我之前已经完成了,但是如果我想在DataGridView中插入一个数据,我该如何插入它,使网格线仍然存在,并相应地将数据插入行中呢?谢谢,先生,我已经知道它是如何工作的了!您的解决方案真的帮了我大忙,节省了我很多时间,谢谢!: