VFP ·R¥ÎªÌªÀ°Ï ­º­¶ VFP ·R¥ÎªÌªÀ°Ï
¥»°Q½×°Ï¬° Visual Foxpro ·R¥ÎªÌ¸gÅç¥æ¬yªº¦a¤è, ½Ð¦h¦h§Q¥Î"·j´M"ªº¥\¯à, ¥ý¬d¬Ý¬Ý¦³µL«e¨Ò¥i´`, ¦pªGÁÙ¦³¤£À´ªº¦Aµo°Ý. ³¡¥÷¥DÃD¦³ªþ¥[ÀÉ®×, ¶·¥ýµù¥U¦¨¬°ªÀ°Ï©~¥Á¤~¥i¥H¤U¸ü.
 
 ±`¨£°ÝÃD±`¨£°ÝÃD   ·j´M·j´M   ·|­û¦Cªí·|­û¦Cªí   ·|­û¸s²Õ·|­û¸s²Õ   ·|­ûµù¥U·|­ûµù¥U 
 ­Ó¤H¸ê®Æ­Ó¤H¸ê®Æ   µn¤JÀˬd±zªº¨p¤H°T®§µn¤JÀˬd±zªº¨p¤H°T®§   µn¤Jµn¤J

©T©wGridÄæ¦ì(Âà¶K)

 
µoªí·s¥DÃD   ¦^ÂÐ¥DÃD    VFP ·R¥ÎªÌªÀ°Ï ­º­¶ -> VFP °Q½×°Ï
¤W¤@½g¥DÃD :: ¤U¤@½g¥DÃD  
µoªí¤H ¤º®e
Ruey



µù¥U®É¶¡: 2003-03-12
¤å³¹: 1698
¨Ó¦Û: tunglo

²Ä 1 ¼Ó

µoªíµoªí©ó: ¬P´Á¤» ¤­¤ë 24, 2003 4:40 pm    ¤å³¹¥DÃD: ©T©wGridÄæ¦ì(Âà¶K) ¤Þ¨¥¦^ÂÐ

**************************************************
*-- Class Library: d:\t1\grid1.vcx
**************************************************


**************************************************
*-- Class: grid1 (d:\t1\grid1.vcx)
*-- ParentClass: grid
*-- BaseClass: grid
*-- Time Stamp: 08/30/02 03:40:11 PM
*
DEFINE CLASS grid1 AS grid


Height = 200
Width = 320
Name = "grid1"


PROCEDURE MouseDown
LPARAMETERS nButton, nShift, nXCoord, nYCoord
local nWhere_Out, nRelRow_Out, nRelCol_Out, nView_Out
THIS.GRIDHITTEST(nxcoord,nycoord,@nWhere_Out,@nRelRow_Out,@nRelCol_Out,@nView_Out)
if nView_Out=0.or.nWhere_Out=5
node
endif
ENDPROC


PROCEDURE Scrolled
LPARAMETERS nDirection
IF nDirection>=4 &&ªí¥Ü¬O¤ô¥­¤è¦V¨÷
IF This.RelativeColumn#This.ActiveColumn
local Âê©w¦C¼Æ,ii,jj,kk,Á`¦C¼Æ
¥ª¦C©T©w¼e=this.¥ª¦C©T©w¼e
Âê©w¦C¼Æ=this.Âê©w¦C¼Æ
if m.Âê©w¦C¼Æ=1
This.Partition=THIS.COLUMNS(1).WIDTH+m.¥ª¦C©T©w¼e
else
Á`¦C¼Æ=this.columncount
jj=0
kk=0
for ii=1 to m.Á`¦C¼Æ
if this.columns(m.ii).columnorder<=m.Âê©w¦C¼Æ
jj=m.jj+this.columns(m.ii).width
kk=m.kk+1
if m.kk>m.Âê©w¦C¼Æ
exit
endif
endif
next
This.Partition=m.jj+1+m.¥ª¦C©T©w¼e+2
endif
else
this.partition=m.¥ª¦C©T©w¼e
endif
endif
ENDPROC


PROCEDURE AfterRowColChange
LPARAMETERS nColIndex
if inli(last(),3,18,24,5)
retu
endif
local Á`¦C¼Æ,ii,Âê©w¦C¼Æ,Âê©w¼e«×,jj,kk,¥ª¦C©T©w¼e
¥ª¦C©T©w¼e=this.¥ª¦C©T©w¼e
Âê©w¦C¼Æ=this.Âê©w¦C¼Æ
Á`¦C¼Æ=this.columncount
if this.panel#1
for ii=1 to m.Á`¦C¼Æ
if this.columns(m.ii).columnorder=1
this.panel=0
this.Columns(m.ii).setfocus()
this.panel=1
This.Partition=m.¥ª¦C©T©w¼e
keyb "{tab}" plai clear
exit
endif
next
retu
endif
if this.leftcolumn>1
if m.Âê©w¦C¼Æ=1
if This.Partition<=m.¥ª¦C©T©w¼e
for ii=1 to m.Á`¦C¼Æ
if this.columns(m.ii).columnorder=1
This.Partition=min(this.columns(m.ii).width+1,this.width-50)+m.¥ª¦C©T©w¼e
exit
endif
next
endif
else
local jj,kk
jj=0
kk=0
for ii=1 to m.Á`¦C¼Æ
if this.columns(m.ii).columnorder<=m.Âê©w¦C¼Æ
jj=m.jj+this.columns(m.ii).width
kk=m.kk+1
if m.kk>m.Âê©w¦C¼Æ
exit
endif
endif
next
Âê©w¼e«×=m.jj+1+m.¥ª¦C©T©w¼e+2
if this.Partition#m.Âê©w¼e«×
This.Partition=m.Âê©w¼e«×
endif
endif
else
if This.Partition>m.¥ª¦C©T©w¼e
This.Partition=m.¥ª¦C©T©w¼e
endif
endif
ENDPROC


PROCEDURE Init
with this
.addproperty("®t¼Æh",thisform.height-.height)
.addproperty("®t¼Æw",thisform.width-.width)
if !vart(.Âê©w¦C¼Æ)=="N".or.!betw(.Âê©w¦C¼Æ,0,10)
.addproperty("Âê©w¦C¼Æ",1)
endif
.addproperty("¥ª¦C©T©w¼e",iif(.recordmark,10,0))
.deletemark=.f.
if .splitbar
.panelLink=.f.
.panel=0
.scrollbars=1
.panel=1
.recordmark=.f.
.panelLink=.t.
.partition=.¥ª¦C©T©w¼e
endif
endw
ENDPROC


ENDDEFINE
*
*-- EndDefine: grid1
********************************************
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
Ruey



µù¥U®É¶¡: 2003-03-12
¤å³¹: 1698
¨Ó¦Û: tunglo

²Ä 2 ¼Ó

µoªíµoªí©ó: ¬P´Á¤é ¤C¤ë 13, 2003 7:54 pm    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

­Éªá·q¦ò¡G
©T©wGRIDªº¥ô·N´X¦C
*¥H©T©w¥ªÃä¤T¦C¬°¨Ò¡G
*¦bGRIDªºAfterRowChange¨Æ¥ó¤¤¡G
LPARAMETERS nColIndex
FOR I=1 TO 3
this.Columns(I).ColumnOrder = this.LeftColumn+I-1
ENDF
*¦bGRIDªºScrolledD¨Æ¥ó¤¤¡G
LPARAMETERS nDirection
if nDirection>3
this.AfterRowColChange()
endif
-------------------------------------------
¦b grid ¤¤©T©w¬Y¤@¦Cªº³Ì²³æ¤èªk

--------------------------------------------------------------------------------
zck ©ó 2002-2-1 21:47:59 µoªí¡G

§Ú¥H«e©M«Ü¦h¤H¤@¼Ë¡A¤]¥H¬°grid¤£¯à©T©w¬Y¤@¦C¡A¦Ó³o­Ó°ÝÃD¦b¿é¤J¤u¸êªí¤§Ãþªº³õ¦X«o¤S³Ì»Ý­nªº¡A§â©m¦W¨º¤@¦C©T©w¤F¡A³o¼Ë´N¬O¤£Â_ªº©¹¥k²¾¡A©m¦W¨º¤@¦C¤]ÁÙ¯à¬Ý±o¨ì¡C

²{¦b¤èªk¦p¤U¡G
1¡Bµ¹grid¥[­ÓÄÝ©Ê¡GLockColumn¡A¼Æ­È«¬¡A¤º®e´N¬O§A­n©T©w¨º¤@¦C

2¡B¦bGrid.AfterRowColChange¨Æ¥óùؼg¤W¡G
this.columns(this.lockcolumn).columnorder=this.leftcolumn

³o´N¦æ¤F

¤èªkªº§½­­©Ê¦b©ó¡G
³Q©T©w¨º¤@¦C¡A¥¦´N¥u¯à©ñ¦bªí®æªº³Ì¥ªÃä¤F¡C§Y¨Ï¤H¤u¥Î·Æ¹«§â¥¦©ì¨ì¤¤¶¡ªº¦C¦ì¸m¡A¤@¥¹Ä²µoAfterRowColChange¨Æ¥ó¡A¥¦¤S·|¨ì¦^²Ä¤@¦Cªº¦ì¸m¤W¤F

¶¶«K§â§Ú°µªºgridÃþªº´X­Ó¤èªk¼g¥X¨Ó¡A¨Ñ¤j®a°Ñ¦Ò

〖init¨Æ¥ó〗
this.SetAll(¡¬backcolor¡¬,RGB(192,192,192),¡¬header¡¬)
this.SetAll(¡¬forecolor¡¬,RGB(0,0,0),¡¬header¡¬)
this.SetAll(¡¬alignment¡¬,2,¡¬header¡¬)
this.SetAll(¡¬fontsize¡¬,14,¡¬header¡¬)
this.SetAll(¡¬fontsize¡¬,14,¡¬column¡¬)
this.HeaderHeight = 27
this.RowHeight=27

〖BeforRowColChange¨Æ¥ó〗
LPARAMETERS nColIndex
PRIVATE i
WITH this
FOR i=1 TO .ColumnCount
IF .columns(i).columnorder=ncolindex
.Columns(i).header1.backcolor=12632256
.Columns(i).header1.forecolor=0
.Columns(i).header1.fontbold=.f.
ENDIF
ENDFOR
ENDWITH

〖AfterRowColChange¨Æ¥ó〗
LPARAMETERS nColIndex
PRIVATE i,j
WITH this
.columns(.lockcolumn).columnorder=.leftcolumn
FOR i=1 TO .ColumnCount
IF .columns(i).columnorder=nColINdex
.Columns(i).header1.backcolor=8421440
.Columns(i).header1.forecolor=65535
.Columns(i).header1.fontbold=.t.
j=i
ENDIF
ENDFOR
.refresh()
ENDWITH


¨äµ²ªG´N¬O¡A´å¼Ð©Ò¦bªº¨º¤@¦C¡A¥¦ªº¦C¼ÐÃDªºÃC¦â¬O©M¨ä¥Lªº¦C¤£¦Pªº¡A±q¦Ó°_¨ì¼ÐÃѪº§@¥Î¡C¥i±¤¦æ¨ºùØ°µ¤£¨ì³o¼Ëªº®ÄªG¡A¤£µM´N©M OfficeXP ùØ­±ªº Excel ¤@¼Ë®ÄªG¤F ©«¸¹ ¥D¡@¡@¡@¡@ÃD §@ªÌ ¤é¡@¡@´Á
338594 ¦bgrid¤¤©T©w¬Y¤@¦Cªº³Ì²³æ¤èªk¡G zck 2002-2-1 21:47:59
©«¸¹ ¥D¡@¡@¡@¡@ÃD §@ªÌ ¤é¡@¡@´Á
--------------------------------------------------------

_________________
#############################
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~­ì¨Ó©¯ºÖ¨º»ò²³æ!!

¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
#############################
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
Ruey



µù¥U®É¶¡: 2003-03-12
¤å³¹: 1698
¨Ó¦Û: tunglo

²Ä 3 ¼Ó

µoªíµoªí©ó: ¬P´Á¤é ¤C¤ë 13, 2003 7:56 pm    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

¦pªG§A¦³VFP8ªº¸Ü
©T©wGrid¤w¸g¦³­ÓÄÝ©ÊLockColumn
¥i±±¨îÄæ¦ì¤F,¤£¥Î¾á¤ß·|¦³°ÝÃDªº
»°§Ö´«¤u¨ã§a

_________________
#############################
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~­ì¨Ó©¯ºÖ¨º»ò²³æ!!

¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
#############################
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
±q¤§«eªº¤å³¹¶}©lÅã¥Ü:   
µoªí·s¥DÃD   ¦^ÂÐ¥DÃD    VFP ·R¥ÎªÌªÀ°Ï ­º­¶ -> VFP °Q½×°Ï ©Ò¦³ªº®É¶¡§¡¬° ¥x¥_®É¶¡ (GMT + 8 ¤p®É)
²Ä1­¶(¦@1­¶)

 
«e©¹:  
±z µLªk ¦b³o­Óª©­±µoªí¤å³¹
±z µLªk ¦b³o­Óª©­±¦^ÂФ峹
±z µLªk ¦b³o­Óª©­±½s¿è¤å³¹
±z µLªk ¦b³o­Óª©­±§R°£¤å³¹
±z µLªk ¦b³o­Óª©­±¶i¦æ§ë²¼
±z µLªk ¦b³o­Óª©­±ªþ¥[ÀÉ®×
±z µLªk ¦b³o­Óª©­±¤U¸üÀÉ®×


Powered by phpBB © 2001, 2005 phpBB Group
¥¿Å餤¤å»y¨t¥Ñ phpbb-tw ºûÅ@»s§@