vb6 - 当我选择最后一行时,为什么在 MSFlexGrid 中选择了所有行?
问题描述
我有一个带有 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
解决方案
看起来您正在寻找该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
推荐阅读
- javascript - Javascript 加密 AES 解密
- scala - 如何正确测量 Spark 中的经过时间?
- python - KeyError:“找不到枚举 caffe.EmitConstraint.EmitType”
- python - 为什么我的代码没有在 Python IDES 中运行
- docker - docker stack deploy 使用 compose 文件不能指定 ip:port
- c# - 在 Entity Framework Core 中加载嵌套属性
- sql - 如何删除列中两个数值之间的所有行
- sql - 在 SQL Server 中将不同的列转换为行
- sql - SQL 查询中的 VBA 访问表参考
- c - creat 函数可以返回零,它的含义是什么?