| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1521 人关注过本帖
标题:数据源发生变化,表格的内容没有刷新
只看楼主 加入收藏
louzhenghong
Rank: 1
等 级:新手上路
帖 子:54
专家分:5
注 册:2016-4-25
结帖率:64.71%
收藏
已结贴  问题点数:20 回复次数:5 
数据源发生变化,表格的内容没有刷新

我有一个表格的数据源是thisform.grid1.recordsource="card01"
当card01的数据发生变化时,我用了thisform.grid1.refresh
然后表格的内容没有刷新,这是怎么回事
搜索更多相关主题的帖子: 数据源 
2016-06-14 11:24
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
我一般这样就可以了。你试试看
THISFORM.Grid1.RECORDSOURCE=NULL
select * from 表 into cursos card01 &&改变数据源
THISFORM.Grid1.COLUMNCOUNT = -1
THISFORM.Grid1.RECORDSOURCE="CARD01"
THISFORM.Grid1.refresh
2016-06-14 11:35
louzhenghong
Rank: 1
等 级:新手上路
帖 子:54
专家分:5
注 册:2016-4-25
收藏
得分:0 
回复 2楼 mywisdom88
不行,我的代码是这样的,也不知道错在哪里,我在数据工作期看到明明card01有3条记录,但就是只显示了一条
SELECT card02
a1=一级区
SELECT card03
a2=维修标记
RESTORE FROM D:\水表报修\bxqx.txt addi
lcodbcdriver  =ALLTRIM(szb_类型)
lcodbcserver  =ALLTRIM(szb_服务器)
lcodbcdatabase=ALLTRIM(szb_数据库)
lcuid     =ALLTRIM(szb_用户)
lcpwd     =ALLTRIM(szb_密码)
con1=sqlstringconnect('driver='+lcodbcdriver+';server='+lcodbcserver+';database='+lcodbcdatabase+';uid='+lcuid+';pwd='+lcpwd) &&建立测试连接句柄
if con1>0
    thisform.grid1.recordsource=""
    TEXT TO SqlStr NOSHOW TEXTMERGE PRETEXT 4
        select 选择,受理单号,报修时间,报修人,报修人电话,报修地址,报修内容,报修类型,特殊情况,一级区,二级区,bill_name as 业主,tel as 业主电话,mobile as 业主手机,calibre as 口径,维修标记
        from bx a left join a_card d on a.受理单号 =d.card_no
        left join a_client c on  d.client_no = c.client_no
        left join m_meter b on b.meter_id = d.meter_id
        where 维修标记=?a2 and 一级区=?a1
        order by 报修时间 desc
    endtext
    sqlexec(con1,SqlStr,'card01')
    REPLACE ALL 选择 WITH 0
    thisform.grid1.recordsource="card01"
   
    thisform.grid1.SetAll("dynamicbackcolor","iif(维修标记='派工',rgb(0,255,255),IIF(维修标记='维修结束',RGB(150,154,240),IIF(维修标记='临时通水',RGB(0,154,240),RGB(255,255,0))))", "Column")
    thisform.grid1.refresh
    SQLEXEC(con1,"select 二级区 from bx WHERE 一级区 = ?a1 group by 二级区 ","card04")
    thisform.grid5.recordsource="card04"   
    SQLDISCONNECT(con1)  &&断开连接句柄
else
    messagebox("连接失败,请检查网络及设置!",0,"警告")
ENDIF
2016-06-14 15:29
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
thisform.grid1.ColumnCount = -1 &&加这个
thisform.grid1.recordsource="card01"
brow &&看你数据和grid1是不是相同。
如果 brow的数据正常的,grid1不正常,你就把设置颜色这行去掉,看看
*thisform.grid1.SetAll(...) &&去掉这

[此贴子已经被作者于2016-6-14 17:19编辑过]

2016-06-14 17:17
louzhenghong
Rank: 1
等 级:新手上路
帖 子:54
专家分:5
注 册:2016-4-25
收藏
得分:0 
回复 4楼 mywisdom88
查到原因,REPLACE ALL 选择 WITH 0  造成记录定位于表尾,只能看到最后一条记录
2016-06-15 11:14
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:20 
以下是引用louzhenghong在2016-6-15 11:14:48的发言:

查到原因,REPLACE ALL 选择 WITH 0  造成记录定位于表尾,只能看到最后一条记录

晕,我昨天本来就想叫你
thisform.grid1.refresh
go top
这样。。
2016-06-15 12:27
快速回复:数据源发生变化,表格的内容没有刷新
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020552 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved