主题:查询问题
xm7050432
[专家分:180] 发布于 2009-12-15 15:13:00
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个回复)
沙发
xm7050432 [专家分:180] 发布于 2009-12-15 15:15:00
thisform.grid1.AllowCellSelection= .T.
thisform.grid1.ReadOnly= .T.
thisform.grid1.Column1.ReadOnly= .F.
这三个属性我有在GRID里设置了,所以我想是不是我的查询语句那句把这写设置改了。
板凳
xm7050432 [专家分:180] 发布于 2009-12-16 09:00:00
SOS
3 楼
xm7050432 [专家分:180] 发布于 2009-12-16 14:47:00
UP
4 楼
xm7050432 [专家分:180] 发布于 2009-12-16 17:34:00
thisform.grid1.Column1.currentcontrol=Check1
原本是在属性框里直接设置,现在想改为命令设置,但是提示找不到变量 check1.
请问命令要如何写?
5 楼
LuckyLine [专家分:1940] 发布于 2009-12-16 18:38:00
thisform.grid1.Column1.currentcontrol="Check1"
估计还要刷新一下
6 楼
xm7050432 [专家分:180] 发布于 2009-12-17 14:45:00
一楼的问题还没解决 哪位老师帮我下 或者帮我分析下大概是什么原因
症状大概就是,第一次查询,第一列的复选框是可以编辑的,但是第二次以后的查询复选框就不能编辑了,是显示T和F。 找了好几天了,找不到问题。
7 楼
sywzs [专家分:5650] 发布于 2009-12-18 05:44:00
如果可能的话,把表单和数据发来,分析一下具体原因。
Mail:sywzs@163.com
8 楼
xm7050432 [专家分:180] 发布于 2009-12-18 10:29:00
[quote]如果可能的话,把表单和数据发来,分析一下具体原因。
Mail:sywzs@163.com
[/quote]
老师,邮件已经发送,请您留意下,期待您的回信。
9 楼
LuckyLine [专家分:1940] 发布于 2009-12-18 11:37:00
我估计你的CheckBox是用代码加进去的。应该加一句
ThisForm.Grid1.Column1.AddObject("Check1","CheckBox")
ThisForm.Grid1.Column1.CurrentControl="Check1"
&&加一句
ThisForm.Grid1.Column1.Check1.Visible=.t.
ThisForm.Grid1.Column1.Sparse=.f.
(以上假设表格第一列加了一个复选框)
10 楼
xm7050432 [专家分:180] 发布于 2009-12-18 15:02:00
[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里设置,出的问题都一样。第一次查询,功能没问题,第二次就不行了。
我来回复