发信人: 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. 
 
  | 
 
 
 |