度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 3186|回复: 9
打印 上一主题 下一主题

[分享] 网格部件【修改单条数据】不刷新更新修改后的数据

  [复制链接]

67

主题

685

帖子

1815

积分

作者

Rank: 7Rank: 7Rank: 7

积分
1815
跳转到指定楼层
楼主
发表于 2020-4-20 17:08:36 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
一般情况下我们在构建增删改查窗体的时候,如果修改了某条数据会调用刷新功能来刷新网格中的数据,修改代码如下:
        dim form1 = 创建窗体("a4011f01-6826-4868-b8c8-633251a188eb")
        form1.Input1="EDIT"
        form1.Input2=网格部件1.GetFocusedRowValue("ID")
        form1.ShowDialog()
        call("刷新")
但是这样如果数据多的话会很慢,所以用一下方法解决:
        dim form1 = 创建窗体("a4011f01-6826-4868-b8c8-633251a188eb")
        form1.Input1="EDIT"
        form1.Input2=网格部件1.GetFocusedRowValue("ID")
        form1.ShowDialog()
        '判断如果打开的编辑窗体的Output1有值,说明是已经修改成功,那么就更新修改的这一条数据
        if isnull(form1.Output1)=false then
                '查询出被修改的数据
                dim dt=ExecuteSelect("select * from meis_设备基本信息 where ID='"&网格部件1.GetFocusedRowValue("ID")&"'")
                '获取修改的这一行数据的赋值到newdr
                dim newdr=dt.Rows[0]
                '循环网格部件1并判断查询出来的数据中是否有网格部件的字段
                for each c in 网格部件1.DataTable.Columns
                        if dt.Columns.Contains(c.ColumnName) then
                                '如果查询出来的数据中的字段有网格部件中的字段就更新这个字段的值
                                网格部件1.SetFocusedRowValue(c.ColumnName,newdr[c.ColumnName])
                        end if
                next       
        end if


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

67

主题

685

帖子

1815

积分

作者

Rank: 7Rank: 7Rank: 7

积分
1815
沙发
 楼主| 发表于 2020-4-23 17:13:58 | 显示全部楼层
这两个看上去有点像,但是要注意代码,有一点点不一样
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|玉祥公司客服-玉祥集团客服  本站关键词:快速开发平台

GMT+8, 2024-5-5 06:10 , Processed in 0.122444 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表