【问题标题】:MS DataGridView.show fails to workMS DataGridView.show 无法工作
【发布时间】:2010-06-23 17:28:33
【问题描述】:

我曾经在表单上有一个 DataGridView (DGV)。我格式化并填充了它,然后使用 DGV.Show 让它出现在我的表单上。这很好用。

我升级了我的表格,包括 2 个 DGV。在一个 sub 中,我调暗了一个新的 DGV,像以前一样对其进行填充和格式化,然后将其设置为与表单上的任何 DGV 相同。例如:

    Dim pDGV as new DataGridView
  with pDGV
    .ColumnHeadersVisible = True
    .RowHeadersVisible = False
    .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
    .ScrollBars = ScrollBars.Both
    .DataSource = pTable 
    .AllowUserToAddRows = False
    .AllowUserToDeleteRows = False
    .ReadOnly = True
  end with

frm1.DGV1 = pDGV

frm1.DGV1.show

在调试期间,我可以看到 Frm1.DGV 似乎与 pDGV 相同,因为它具有相同的列数和行数等。但是,它无法显示。

我可以恢复为单独填充和格式化每个 DGV,但这会重复很多代码。我认为这会更优雅。

关于为什么 .show 不起作用的任何想法?

谢谢

【问题讨论】:

    标签: vb.net datagridview


    【解决方案1】:

    您正在尝试将运行时DataGridView create 的实例分配给已在表单上创建的DataGridView。这是不可能的。

    你可以实现类似的东西来实现你的目标。

    Public Class Form1
    
        Dim _DT As New DataTable
    
        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
            _DT.Columns.Add("0")
            For i As Integer = 0 To 9
                _DT.Rows.Add(i)
            Next
    
            FormatDataGridView(DataGridView1)
            FormatDataGridView(DataGridView2)
    
        End Sub
    
        Public Sub FormatDataGridView(ByVal dgv As DataGridView)
    
            With dgv
                .ColumnHeadersVisible = True
                .RowHeadersVisible = False
                .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
                .ScrollBars = ScrollBars.Both
                .DataSource = _DT
                .AllowUserToAddRows = False
                .AllowUserToDeleteRows = False
                .ReadOnly = True
            End With
    
        End Sub
    
    End Class
    

    否则,您可以在运行时创建DataGridView,然后添加到面板中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2011-05-16
      • 1970-01-01
      相关资源
      最近更新 更多