📄 在使用非绑定的dbgrid时,系统总把最后行数据清除,不能得到更新.txt
字号:
我 的 关 于 非 绑 定 DBGrid的 问 题 已 经 设 法 找 到 解 决 办 法 。 解 决 办 法 如 下 :
在 程 序 中 加 入 代 码 判 断 当 Bookmark为 0时 , 修 改 行 是 第 一 行 还 是 最 后 一 行 , 用 Boolean型 变 量 Lastrow表 示 。 根 据 判 断 的 结 果 决 定 把 输 入 值 赋 给 数 组 的 相 应 单 元 。 具 体 要 在 各 个 事 件 程 序 中 加 的 代 码 如 下 :
在 窗 体 的 声 明 部 分 加 入 以 下 代 码 :
Private Lastrow As Boolean ′ 定 义 判 断 是 否 为 最 后 一 行 的 参 数
Private mTotalRows& ′ 定 义 DBGird1的 最 大 行 数
在 DBGrid1的 AfterColEdit事 件 过 程 中 加 入 以 下 代 码 :
If Lastrow Then
DBGrid1.Refresh ′ 刷 新 DBGrid1
DBGrid1.Scroll 0, DBGrid1.VisibleRows ′ 重 新 滚 到 能 看 到 最 后 一 行
Lastrow = False ′ 因 为 光 标 已 经 移 到 别 处 ,所 以 把 Lastrow设 为 False
End If
在 DBGrid1的 Change事 件 过 程 中 加 入 以 下 代 码 :
Dim i As Integer, j As Integer
i = DBGrid1.Col ′ 列 号
j = DBGrid1.Row ′ 行 号
If DBGrid1.Bookmark = 0 Then
If j > 0 Then ′ 如 果 Bookmark为 0而 且 行 号 大 于 0, 一 定 是 最 后 一 行
Userdata(i, mTotalRows& - 1) = DBGrid1.Text ′ 把 输 入 值 赋 给 最 后 一 行 的 相 应 列
Lastrow = True
Else ′ 如 果 不 是 最 后 一 行
UserData(i, DBGrid1.Bookmark) = DBGrid1.Text ′ 把 输 入 值 赋 给 第 一 行 的 相 应 列
End If
Else ′ 如 果 Bookmark不 等 于 0
UserData(i, DBGrid1.Bookmark) = DBGrid1.Text ′ 把 输 入 值 赋 给 数 组 的 对 应 的 元 素
End If
<END>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -