1

我有一个带有 2 列的 MSFlexGrid 控件,我的所有数据都显示在这个网格上。当我单击“添加”按钮时,我添加了一个新行,然后选择了我的新行。

问题是所有行都被选中,我只需要选择我的新行。

这是我的代码:

Private Sub Add_Click()
    FGrid.Rows = FGrid.Rows + 1
    FGrid.RowSel = FGrid.Rows - 1
    FGrid.ColSel = 0

    If FGrid.Rows > 1 Then ' > 10
        FGrid.TopRow = FGrid.Rows - 1
    Else
        FGrid.TopRow = 1 
    End If

    FGrid.TextMatrix(FGrid.RowSel, 0) = Format(Date, "DD/MM/YYYY")
    FGrid.SetFocus
End Sub  
4

1 回答 1

2

看起来您正在寻找该Row物业,而不是RowSel. 您可以根据您的要求使用这两者的组合

Row财产:

返回/设置 FlexGrid 中的活动单元格。

RowSel财产:

确定单元格区域的开始或结束行或列。

当您设置该RowSel值时,它被视为选择的结束,因为该Row值仍然是 0 (unchanged)。因此,您需要使用这样的东西:

FGrid.Row = FGrid.Rows - 1
'FGrid.RowSel = FGrid.Rows - 1   ' Optional.

还有一件事,您可以使用在其第一个单元格中添加具有值的行,而不是递增.Rows然后使用来为单元格分配值。在这种情况下,您的代码将如下所示:TextMatrix()AddItem

FGrid.AddItem Format(Date, "dd/MM/yyyy")

FGrid.Row = FGrid.Rows - 1
'FGrid.RowSel = FGrid.Rows - 1   ' Optional.
FGrid.ColSel = 0

If FGrid.Rows > 10 Then
    FGrid.TopRow = FGrid.Rows - 1
End If

FGrid.SetFocus
于 2018-09-13T00:28:27.103 回答