回 帖 发 新 帖 刷新版面

主题:查询问题

GRID里面第一列添加了CHECK,GRID数据源是临时表。
用以下查询语句出现问题:
IF EMPTY(thisform.combo5.Value)                                                 
SELECT * from jfd where  月份=ALLTRIM(thisform.combo1.value)  order by 日期,客户 into cursor lsjfcx Readwrite

ELSE
nf1=ALLTRIM(thisform.combo5.Value)
SELECT * from jfd where  月份=ALLTRIM(thisform.combo1.value) and  alltrim(str(year(日期)))=nf1 order by 日期,客户 into cursor lsjfcx Readwrite

endif

thisform.grid1.RecordSource="lsjfcx"
thisform.grid1.Refresh
ThisForm.Grid1.AutoFit(.T.)   
IF RECCOUNT()<1
 MESSAGEBOX("没有找到相关记录!",0+48,"信息提示")  
 else
 
thisform.text1.value=alltrim(STR(RECCOUNT()))
THISFORM.text1.REFRESH

ENDIF
Thisform.grid1.SetAll("DynamicBackColor","iif(Mod(Recno(),2)=1,RGB(255,255,255),RGB(192,192,192))","Column")
thisform.command8.Enabled= .T.
thisform.command10.Enabled= .T.
Thisform.grid1.Bind()
***********以下这三句是发现问题后加进去的,但是好像没效果
thisform.grid1.AllowCellSelection= .T.
thisform.grid1.ReadOnly= .T.
thisform.grid1.Column1.ReadOnly= .F.


第一次按查询后,第一列的check是可以修改的状态,第二次,第三次在按查询第一列就是不能修改的状态了,整个GRID都是只读状态,不知道哪里出了问题,请老师们帮忙下。

回复列表 (共22个回复)

沙发

thisform.grid1.AllowCellSelection= .T.
thisform.grid1.ReadOnly= .T.
thisform.grid1.Column1.ReadOnly= .F.
这三个属性我有在GRID里设置了,所以我想是不是我的查询语句那句把这写设置改了。

板凳

SOS

3 楼

UP

4 楼

thisform.grid1.Column1.currentcontrol=Check1

原本是在属性框里直接设置,现在想改为命令设置,但是提示找不到变量 check1.
请问命令要如何写?

5 楼

thisform.grid1.Column1.currentcontrol="Check1"
估计还要刷新一下

6 楼

一楼的问题还没解决 哪位老师帮我下 或者帮我分析下大概是什么原因

症状大概就是,第一次查询,第一列的复选框是可以编辑的,但是第二次以后的查询复选框就不能编辑了,是显示T和F。 找了好几天了,找不到问题。

7 楼

如果可能的话,把表单和数据发来,分析一下具体原因。
Mail:sywzs@163.com

8 楼

[quote]如果可能的话,把表单和数据发来,分析一下具体原因。
Mail:sywzs@163.com
[/quote]
老师,邮件已经发送,请您留意下,期待您的回信。

9 楼

我估计你的CheckBox是用代码加进去的。应该加一句
ThisForm.Grid1.Column1.AddObject("Check1","CheckBox")
ThisForm.Grid1.Column1.CurrentControl="Check1"
&&加一句
ThisForm.Grid1.Column1.Check1.Visible=.t.
ThisForm.Grid1.Column1.Sparse=.f.
(以上假设表格第一列加了一个复选框)

10 楼

[quote]我估计你的CheckBox是用代码加进去的。应该加一句
ThisForm.Grid1.Column1.AddObject("Check1","CheckBox")
ThisForm.Grid1.Column1.CurrentControl="Check1"
&&加一句
ThisForm.Grid1.Column1.Check1.Visible=.t.
ThisForm.Grid1.Column1.Sparse=.f.
(以上假设表格第一列加了一个复选框)[/quote]
谢谢用代码的时候这两句我有加,还是一样,我现在是直接在GRID里设置,出的问题都一样。第一次查询,功能没问题,第二次就不行了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册