求教一个VFP的序号问题
谢谢各位大神~~
表单中form1有一个表格控件grid1
查询结果显示在grid1表格控件中,因为结果太多。。
请问如何在表格控件grid1里根据结果条目自动生成序号呢?
IF EMPTY(strsql)
MESSAGEBOX("没有选择筛选条件, 系统将只返回前30条结果!", 64, "筛选")
strsql = "select top 30 * from tb_xunjian_ch order by ch_id desc"
ELSE
strsql = "select * from tb_xunjian_ch where " + strsql
ENDIF
nHandle = GetDataHandle()
IF nHandle <= 0 THEN
MESSAGEBOX("无法连接数据库!", 0+16, "错误")
RETURN .F.
ENDIF
thisform.LockScreen = .t.
thisform.grid1.RecordSource = null
ret = SQLEXEC(nHandle, strsql, "tmp")
= SQLDISCONNECT(nHandle)
IF ret > 0
IF USED("tmp_stud13")
USE IN tmp_stud13
ENDIF
Select 0
Use DBF("tmp") Again Alias tmp_stud13
Use In tmp
WITH thisform.GRID1
.RECORDSOURCE = "tmp_stud13"
.COLUMN1.CONTROLSOURCE = "ch_id"
.COLUMN2.CONTROLSOURCE = "ch_id"
.COLUMN3.CONTROLSOURCE = "x_person"
.COLUMN4.CONTROLSOURCE = "chsjkai"
.COLUMN5.CONTROLSOURCE = "chsjjie"
.COLUMN6.CONTROLSOURCE = "Chbanc"
.COLUMN7.CONTROLSOURCE = "chbeiz"
.REFRESH
ENDWITH
ELSE
MESSAGEBOX("连接数据库时发生错误!", 0+16, "错误")
ENDIF
thisform.LockScreen = .f.
THISFORM.GRID1.ADDCOLUMN(1) && 在左边插入列。
THISFORM.GRID1.COLUMNS(THISFORM.GRID1.COLUMNCOUNT).NAME = "NewColumn"
THIS.COLUMNS(THISFORM.GRID1.COLUMNCOUNT).HEADER1.CAPTION=[序号]
THISFORM.GRID1.NEWCOLUMN.CONTROLSOURCE = "PADL(RECNO(),LEN(TRANSFORM(RECCOUNT())),[0])"
If Empty(strsql)
Messagebox("没有选择筛选条件, 系统将只返回前30条结果!", 64, "筛选")
strsql = "select top 30 00 As 序号,* from tb_xunjian_ch order by ch_id desc"
Else
strsql = "select 00000000 As 序号,* from tb_xunjian_ch where " + strsql
Endif
nHandle = GetDataHandle()
If nHandle <= 0 Then
Messagebox("无法连接数据库!", 0+16, "错误")
Return .F.
Endif
Thisform.LockScreen = .T.
Thisform.grid1.RecordSource = Null
ret = SQLExec(nHandle, strsql, "tmp")
= SQLDisconnect(nHandle)
If ret > 0
Update tmp Set 序号=Recno('tmp')
With Thisform.GRID1
.RecordSource = "tmp"
.COLUMN1.ControlSource = "ch_id"
.COLUMN2.ControlSource = "ch_id"
.COLUMN3.ControlSource = "x_person"
.COLUMN4.ControlSource = "chsjkai"
.COLUMN5.ControlSource = "chsjjie"
.COLUMN6.ControlSource = "Chbanc"
.COLUMN7.ControlSource = "chbeiz"
.Refresh
Endwith
Else
Messagebox("连接数据库时发生错误!", 0+16, "错误")
Endif
Thisform.LockScreen = .F.