首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

求教一个VFP的序号有关问题

2013-03-06 
求教一个VFP的序号问题谢谢各位大神~~表单中form1有一个表格控件grid1查询结果显示在grid1表格控件中,因为

求教一个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.

[解决办法]
表格控件INIT事件
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.

热点排行