Dar valor a una celda en Grid
Moderator: Rathinagiri
Dar valor a una celda en Grid
Necesito que las celdas de una columna del Grid se rellenen automaticamente con un valor concreto sin necesidad de seleccionarlas, o sea, por programa.
He visto unos ejemplos en que cambian la celda seleccionada pero o no me sirven, o no se aplicarlos.
Agradezco su ayuda.
Saludos
He visto unos ejemplos en que cambian la celda seleccionada pero o no me sirven, o no se aplicarlos.
Agradezco su ayuda.
Saludos
- danielmaximiliano
- Posts: 2646
- Joined: Fri Apr 09, 2010 4:53 pm
- Location: Argentina
- Contact:
Re: Dar valor a una celda en Grid
Hola Agústin :
yo recorro todo el Grid en forma inversa, quiere decir que de cada celda saco un contenido para sumarlo en una variable.
espero que te sirva
yo recorro todo el Grid en forma inversa, quiere decir que de cada celda saco un contenido para sumarlo en una variable.
espero que te sirva
Code: Select all
*----------------------------------------------------------------------------*
Procedure ActualizaVenta()
*----------------------------------------------------------------------------*
*Ventas.Articulos.DisableUpdate
Ventas.Text_1.Value := ' '
Ventas.nTotalArt.Value := 0
Ventas.nTotal.Value := 0.0
For nFor := 1 to Ventas.Articulos.ItemCount
Ventas.nTotalArt.Value := Ventas.nTotalArt.Value + Ventas.Articulos.Cell( nFor,2 )
Ventas.nTotal.Value := Ventas.nTotal.Value + (Ventas.Articulos.Cell( nFor,5 ) * Ventas.Articulos.Cell(nFor,2)) //
Ventas.Articulos.Cell(nFor,6) := Ventas.Articulos.Cell(nFor,5) * Ventas.Articulos.Cell(nFor,2)
Next
* Ventas.Articulos.EnableUpdate
Return*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*
Saludos / Regards
DaNiElMaXiMiLiAnO
Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*
Saludos / Regards
DaNiElMaXiMiLiAnO
Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Re: Dar valor a una celda en Grid
Gracias Daniel. Tu rutina, tal como está , me viene de maravilla, para el cálculo de un total.
La estoy probando para lo que comentaba, y me salta un error( siempre me pasa lo mismo con esta forma de codigo y tengo que usar el SetProperty :
Entradas1.Grid_Lineas.Cell( 1,3) := "Prueba" //Syntax error "syntax error at '.'"
USO HMG 3.0.46
Un saludo
La estoy probando para lo que comentaba, y me salta un error( siempre me pasa lo mismo con esta forma de codigo y tengo que usar el SetProperty :
Entradas1.Grid_Lineas.Cell( 1,3) := "Prueba" //Syntax error "syntax error at '.'"
USO HMG 3.0.46
Un saludo
Re: Dar valor a una celda en Grid
Hola Agustin,
lo mas probable es que te falte al declaración de la ventana.
Al principio de tu función prueba de poner
DECLARE WINDOW ENTRADAS1
Saludos
Gerardo
lo mas probable es que te falte al declaración de la ventana.
Al principio de tu función prueba de poner
DECLARE WINDOW ENTRADAS1
Saludos
Gerardo
Re: Dar valor a una celda en Grid
Gracias Gerardo. Así no da error, pero el problema es que el nombre de la ventana necesito que sea una variable que recojo con un parámetro.
Si lo cambio por &cForm me salta error al compilar. Se puede arreglar ?
Un saludo
Si lo cambio por &cForm me salta error al compilar. Se puede arreglar ?
Un saludo
- danielmaximiliano
- Posts: 2646
- Joined: Fri Apr 09, 2010 4:53 pm
- Location: Argentina
- Contact:
Re: Dar valor a una celda en Grid
Mira si te sirve esto.Agustin wrote:Gracias Gerardo. Así no da error, pero el problema es que el nombre de la ventana necesito que sea una variable que recojo con un parámetro.
Si lo cambio por &cForm me salta error al compilar. Se puede arreglar ?
Un saludo
Code: Select all
Procedure DeletePage()
Local nDelete
nDelete:= Principal.Container_Tab.Value
cLabel := "Label" + ltrim(str(nDelete))
cText := "Text" + ltrim(str(nDelete))
cCombo := "Combo" + ltrim(str(nDelete))
IF nDelete == Principal.Container_Tab.ItemCount - 1 .and. iscontroldefined(&cLabel,Principal)
Principal.&(cLabel).Release
Principal.&(cText).Release
Principal.&(cCombo).Release
Principal.Container_Tab.DeletePage(nDelete)
nPage--
IF nPage == 1
AddNewPage()
ENDIF
ELSE
MsgInfo( "No se puede borrar el PAGE '"+Principal.Container_Tab.Caption(nDelete)+"'", " Info " )
ENDIF
Return
mas precisamente en C:\MiniGUI\SAMPLES\BASIC\Tab_2
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*
Saludos / Regards
DaNiElMaXiMiLiAnO
Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*
Saludos / Regards
DaNiElMaXiMiLiAnO
Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Re: Dar valor a una celda en Grid
Hola Daniel. He intentado usar tu código así:
For nFor := 1 to Entradas1.Grid_Lineas.ItemCount
Entradas1.Grid_lineas.Cell(nFor,3) := "PRUEBA"
Next
y da error de ejecución Error BASE/1069 Error de argumento: asignación del array.
Perdona mi torpeza, pero algo hago mal.
Un saludo
For nFor := 1 to Entradas1.Grid_Lineas.ItemCount
Entradas1.Grid_lineas.Cell(nFor,3) := "PRUEBA"
Next
y da error de ejecución Error BASE/1069 Error de argumento: asignación del array.
Perdona mi torpeza, pero algo hago mal.
Un saludo
- danielmaximiliano
- Posts: 2646
- Joined: Fri Apr 09, 2010 4:53 pm
- Location: Argentina
- Contact:
Re: Dar valor a una celda en Grid
fijate el ejemploAgustin wrote:Hola Daniel. He intentado usar tu código así:
For nFor := 1 to Entradas1.Grid_Lineas.ItemCount
Entradas1.Grid_lineas.Cell(nFor,3) := "PRUEBA"
Next
y da error de ejecución Error BASE/1069 Error de argumento: asignación del array.
Perdona mi torpeza, pero algo hago mal.
Un saludo
C:\MiniGUI\SAMPLES\BASIC\Grid\demo3.prg
C:\MiniGUI\SAMPLES\BASIC\GRID_1\demo.prg
sino postea un ejemplo y lo corrijo
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*
Saludos / Regards
DaNiElMaXiMiLiAnO
Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*
Saludos / Regards
DaNiElMaXiMiLiAnO
Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Re: Dar valor a una celda en Grid
Gracias Daniel.
Adjunto el ejemplo que me da error.
Gracias por tu inestimable ayuda y la de este gran foro en general .
Saludos
Adjunto el ejemplo que me da error.
Gracias por tu inestimable ayuda y la de este gran foro en general .
Saludos
- Attachments
-
- PRUEBA DE GRID.zip
- (2.44 KiB) Downloaded 281 times
- Pablo César
- Posts: 4059
- Joined: Wed Sep 08, 2010 1:18 pm
- Location: Curitiba - Brasil
Dar valor a una celda en Grid
Hola Agustin,
Después de bastante tiempo alguien te responde...
Estube mirando tu código. En verdad a mi no me gusta utilizar el GRID directamente al DBF (con opcion de ROWSOURCE). Me gusta trabajar con vectores, mucho más flexible e más liviano.
Lo que pude ver de grave, es que tu declaras los nombres de los formulários através de variables y del componente tambien. Yo hé cambiado eso.
Recuerda que el acceso de los dato se puede hacer através del dbf, pero tienes siempre que sincronizar entre el grid y el recno del dbf.
Bueno quedó más o menos este código:Espero que te guste y te sirva. 
Recuerda tambien que si tienes que trabajar con la IDE o hasta mismo en la linea de comando: el nombre de tu carpeta no debe contener espacios, quitalos.
Después de bastante tiempo alguien te responde...
Estube mirando tu código. En verdad a mi no me gusta utilizar el GRID directamente al DBF (con opcion de ROWSOURCE). Me gusta trabajar con vectores, mucho más flexible e más liviano.
Lo que pude ver de grave, es que tu declaras los nombres de los formulários através de variables y del componente tambien. Yo hé cambiado eso.
Recuerda que el acceso de los dato se puede hacer através del dbf, pero tienes siempre que sincronizar entre el grid y el recno del dbf.
Bueno quedó más o menos este código:
Recuerda tambien que si tienes que trabajar con la IDE o hasta mismo en la linea de comando: el nombre de tu carpeta no debe contener espacios, quitalos.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein