发信人: foxzz()
整理人: hunter__fox(2002-03-16 22:47:22), 站内信件
|
请参考:
1、定义新属性D_QueryGrid[50,4]
2、用数组D_QueryGrid[50,4]记忆表格属性
LOCAL m.oQueryObject
m.oQueryObject=thisform.grid1
LOCAL m.nQueryNum
m.nQueryNum=m.oQueryObject.ColumnCount
wait wind "正在记忆表格属性..." nowait
DIME THISFORM.D_QueryGrid[m.oQueryObject.ColumnCount,4]
FOR m_i = 1 TO m.nQueryNum
THISFORM.D_QueryGrid[m_i,1]=m.oQueryObject.Columns[m_i].controlsource
THISFORM.D_QueryGrid[m_i,2]=m.oQueryObject.Columns[m_i].width
THISFORM.D_QueryGrid[m_i,3]=m.oQueryObject.Columns[m_i].header1.caption
THISFORM.D_QueryGrid[m_i,4]=m.oQueryObject.Columns[m_i].name
ENDFOR
FOR M_I=ALEN(THISFORM.D_QueryGrid,1) TO 1 STEP -1
IF EMPTY(THISFORM.D_QueryGrid[M_I,1])
DIME THISFORM.D_QueryGrid[M_I,4]
ELSE
EXIT
ENDIF
ENDFOR
3、更新grid1数据源
THISFORM.grid1.RECORDSOURCE=P_SELEDBF
4、恢复grid1的属性
LOCAL m.oQueryObject
m.oQueryObject=thisform.grid1
THISFORM.LOCKSCREEN=.T.
FOR m_i = 1 TO ALEN(THISFORM.D_QUERYGRID,1)
m_chrnum=ALLTRIM(STR(m_i))
LOCAL m_queryname,m_controlsource
m_queryname=p_seledbf
IF NOT EMPTY(THISFORM.D_QueryGrid[m_i,4])
m_controlsource=M_QUERYNAME+'.'+THISFORM.D_QueryGrid[m_i,4]
thisform.grid1.Columns[m_i].controlsource=THISFORM.D_QueryGrid[m_i,4]
thisform.grid1.Columns[m_i].width=THISFORM.D_QueryGrid[m_i,2]
thisform.grid1.Columns[m_i].header1.caption=THISFORM.D_QueryGrid[m_i,3]
thisform.grid1.Columns[m_i].name=THISFORM.D_QueryGrid[m_i,4]
ENDIF
ENDFOR
THISFORM.LOCKSCREEN=.T.
|
|