【问题标题】:DataGridView Row Count always returns 1DataGridView 行计数始终返回 1
【发布时间】:2015-12-29 16:53:07
【问题描述】:

我在tabcontrol1 的面板中有一个DataGridView2,如下图所示。

我必须使用

计算网格视图的行数
Dim rowCount = DataGridView2.Rows.Count - 1

Dim rowCount = DataGridView2.RowCount - 1

但是使用这些方法,rowCount 总是等于1

这是因为 DataGridView2 在 tabcontrol 和面板中吗?如果是这样,我如何计算行数,或者当 DataGridView 在 tabcontrol 或面板中时找到它的总行数?

一些代码来显示我在做什么

    Dim rowCount = DataGridView2.Rows.Count - 1


        If rowCount = 0 Then
            DataGridView2.Rows(0).Cells(0).Value = ItemName_TXT.Text
            DataGridView2.Rows(0).Cells(1).Value = ItemQuantity_TXT.Text
 End If

           Dim j As Int32 = rowCount

        If j >= 1 Then
            DataGridView2.Rows(j).Cells(0).Value = ItemName_TXT.Text
            DataGridView2.Rows(j).Cells(1).Value = ItemQuantity_TXT.Text
         End If

【问题讨论】:

  • DataGridView2.Rows.Count - 1 返回 0 还是 1?如果 DataGridView 中没有数据,则只有一行(如图所示)。因此,DataGridView2.Rows.Count 应该返回 1,因为只有一行。
  • 我第一次从文本框中添加了数据,因为它返回 1 我使用 -1 插入,但即使有记录它也必须给出 2 但每次只给出 1
  • 你是说你有两行,DataGridView2.Rows.Count - 1 返回 1?因为这正是它应该做的(2-1=1!)。我建议你用 5 或 10 行测试它,如果你仍然得到 1,请告诉我们。
  • 我在从数据库中填充 DATAGRID 视图后尝试但它返回 23 但是当我尝试从文本框中添加行时它第一次返回 1 并再次添加行第二次返回 1 当已经有一行和一行时重复如何添加第二行
  • 感谢您有效地使用 Caps Lock 键,我现在更清楚地理解了这个问题。 因此,当您从数据库中填充 DataGridView 时,DataGridView2.Rows.Count - 1 返回 23 ?你期待不同的结果吗?有多少行?

标签: vb.net winforms datagridview


【解决方案1】:
    DataGridView2.Rows.Add()
        Dim rowCount = DataGridView2.Rows.Count - 2

添加了一个新行并使用 -2 给出了精确的计算需求

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    相关资源
    最近更新 更多