oForm = CREATEOBJECT("myForm") oForm.SHOW(1) DEFINE CLASS myForm AS FORM AUTOCENTER = .T. CAPTION = "Ejemplo de Grid con barras de porcentajes" ADD OBJECT myGrid AS GRID PROCEDURE LOAD CREATE CURSOR myProcess (percent i, NAME c(10)) RAND(-1) FOR ix = 1 TO 100 INSERT INTO myProcess VALUES (INT(RAND()*100), SYS(2015)) ENDFOR LOCATE ENDPROC PROCEDURE INIT WITH THIS.myGrid .ADDCOLUMN(.COLUMNCOUNT+1) .COLUMNS(.COLUMNCOUNT).CONTROLSOURCE = "myProcess.Percent" .COLUMNS(.COLUMNCOUNT).DYNAMICFONTBOLD = "!(thisform.UpdateContainer(this.columns(1).myPercent))" .COLUMNS(.COLUMNCOUNT).Header1.CAPTION = "Porcentaje" .WIDTH = THISFORM.WIDTH .HEIGHT = THISFORM.HEIGHT .ANCHOR = 15 ENDWITH WITH THIS.myGrid.COLUMNS(1) .ADDOBJECT("myPercent","myContainer") .myPercent.WIDTH = .WIDTH .myPercent.lblPercent.WIDTH = .WIDTH .myPercent.VISIBLE = .T. .DYNAMICFONTBOLD = "Thisform.UpdateContainer(this.columns(1).myPercent)" .CURRENTCONTROL = "myPercent" .SPARSE = .F. ENDWITH THIS.myGrid.COLUMNS(1).ENABLED = .F. ENDPROC PROCEDURE UpdateContainer(toContainer) WITH toContainer .shpPercent.BACKCOLOR = IIF(percent > 90, 0xFF, IIF(percent > 70, 0x00FFFF, 0x00FF00)) .shpPercent.WIDTH = toContainer.PARENT.WIDTH * percent/100 .lblPercent.CAPTION = TRANSFORM(percent) + "%" ENDWITH ENDPROC ENDDEFINE DEFINE CLASS myContainer AS CONTAINER BACKCOLOR = 0xFFFFFF BORDERWIDTH = 0 ADD OBJECT shpPercent AS SHAPE WITH BORDERSTYLE = 0 ADD OBJECT lblPercent AS LABEL WITH ALIGNMENT = 2 ,BACKSTYLE=0 ENDDEFINE
10 de octubre de 2012
Grilla con porcentajes gráficos
Código del turco Cetin Basoz publicado en el Foro de Foxite.com (http://www.foxite.com/forum)
Suscribirse a:
Comentarios de la entrada
(
Atom
)
y si uno quisiera mandar a imprimir, cómo podría hacerse???
ResponderBorrarInteresante!!
ResponderBorrar