立即注册 登录
度量快速开发平台-专业、快速的软件定制快开平台 返回首页

刘亚东的个人空间 http://bbs.delit.cn/?5 [收藏] [复制] [RSS]

日志

网格部件新增单条数据不重新刷新显示新增数据

已有 2011 次阅读2020-6-27 09:37 |系统分类:构建综合| 网格部件, 不刷新, 新增数据, 效率

1、网格部件不刷新显示新数据:
我们在做增删改查的窗体的时候,一般列表界面的新增代码是如下:

dim form1 = 创建窗体("a4011f01-6826-4868-b8c8-633251a188eb")
form1.Input1="ADD"
form1.ShowDialog()
call("刷新")

这样的话有一个问题就是,如果数据多了,那么每次新增完成后都会刷新一下列表,会很慢。
下面呢就是从编辑数据的窗体中返回一个数据ID,然后查询出这条数据,再添加到网格中,这样就只查询一条数据,效率就不用说了。

dim form1 = 创建窗体("a4011f01-6826-4868-b8c8-633251a188eb")
form1.Input1="ADD"
form1.ShowDialog()
'判断编辑窗体中的变量Output1变量(新增数据的ID)是否有值,有说明新增了。
if isnull(form1.Output1)=false then
        '从数据库查询出这条数据
dim dt=ExecuteSelect("select * from meis_设备基本信息 where id='"+form1.Output1+"'")
'把查询出来的第一行数据(只有一行)赋值给变量newdr
        dim newdr=dt.Rows[0]
        '网格部件中新增一行,并把这一行赋值给变量row
dim row=网格部件1.DataTable.NewRow()
'循环网格部件1的列
        for each c in 网格部件1.DataTable.Columns
'判断查询出来的数据的列名是否存在与网格部件中,这个判断主要方便,后续在网格部件的业务表中添加、删除字段都没问题,或者定义了别名也不会应找不到字段报错。
if dt.Columns.Contains(c.ColumnName) then
'如果查询出来的数据中的字段在网格部件中存在,就把查询出来的某列的值赋值给网格部件新增行的某列
row[c.ColumnName]=newdr[c.ColumnName]
end if
next
'最后把新增的行添加到网格部件中
网格部件1.DataTable.Rows.Add(row)
end if



路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-4-20 05:35 , Processed in 0.082316 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

返回顶部