Hola Amigos del foro:
Necesito crear un Tree en un xBrowse, he buscado en el foro troceando
código de acá y de allá pero no logro el objetivo.
Tengo una lista de precios por envíos (mensajería)
Peso Zona Costo
1 1 50.00
1 2 75.00
1 3 90.00
1 4 150.00
2 1 80.00
2 2 120.00
2 3 150.00
2 4 200.00
2 5 210.00
3 1 125.00
Mi necesidad es poder mostrar el tree en el browse y dar la posibilidad de agregar registros, modificarlos o eliminarlos.
Cualquier ejemplo de ayuda es agradecida
Saludos
Ejemplo de un Tree con xBrowse
- Armando
- Posts: 3259
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 1 time
- Contact:
Ejemplo de un Tree con xBrowse
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- cmsoft
- Posts: 1294
- Joined: Wed Nov 16, 2005 9:14 pm
- Location: Mercedes - Bs As. Argentina
- Been thanked: 1 time
Re: Ejemplo de un Tree con xBrowse
Hola Armando. Esta es una opcion, hay que mejorarla... Pasa que el valor de la 3ra columna lo pone en 0 cuando en realidad debería no mostrar nada, pero se puede mejorar..
La idea de este ejemplo es que muestre una vista grilla y puedas cambiar a vista arbol
La idea de este ejemplo es que muestre una vista grilla y puedas cambiar a vista arbol
Code: Select all | Expand
#include "FiveWin.ch"
#include "xbrowse.ch"
function Main()
local oWnd, oBrw
local oTree , oBtn
/*USE Customer alias "cus"
INDEX ON Field->State TO State
SET ORDER TO "State"*/
LlenarMatris()
GO TOP
DEFINE WINDOW oWnd TITLE "Cambiando el tipo de datos xbrowse"
@ 10,200 BTNBMP oBtn PROMPT "TREE" SIZE 150,30 PIXEL OF oWnd FLAT ;
ACTION Mutar(oBrw, oBtn)
@ 50,0 XBROWSE oBrw OF oWnd ;
LINES STYLE FLAT NOBORDER CELL;
alias "cus" COLUMNS "Peso","Zona", "Precio";
HEADERS "Peso","Zona", "Precio" PIXEL SIZE 1300,600
//oBrw:nMarqueeStyle = MARQSTYLE_HIGHLROW
oBrw:CreateFromCode()
ACTIVATE WINDOW oWnd MAXIMIZED
return nil
******************************************
** Mutar vista
STATIC FUNCTION Mutar(oBrw,oBot)
IF !oBrw:nDataType == 1
oBrw:ResetData( alias(),{"Peso","Zona", "Precio"} )
oBrw:GoTop()
oBot:cTitle := "TREE"
ELSE
oBrw:SetTree( 2)
oBrw:oTree:OpenAll()
oBrw:GoTop()
oBot:cTitle := "BROWSE"
endif
RETURN nil
STATIC FUNCTION LlenarMatris()
local aCols, aDatos, i
IF File('armando.dbf')
USE armando alias "cus"
INDEX ON Field->peso TO peso
SET ORDER TO "peso"
RETURN nil
ELSE
aCols := { ;
{ "peso", 'N', 4, 0 }, ;
{ "zona", 'N', 4, 0 }, ;
{ "precio", 'N', 10, 2 } }
DBCREATE("ARMANDO.DBF",aCols, "DBFCDX",.t.,'DAT')
aDatos := { { 1, 1, 50.00},;
{ 1, 2, 75.00},;
{ 1, 3, 90.00},;
{ 1, 4, 150.00},;
{ 2, 1, 80.00},;
{ 2, 2, 120.00},;
{ 2, 3, 150.00},;
{ 2, 4, 200.00},;
{ 2, 5, 210.00},;
{ 3, 1, 125.00}}
for i := 1 to LEN(aDatos)
DAT->( DBAPPEND() )
DAT->( FieldPut( 1, aDatos[i,1] ))
DAT->( FieldPut( 2, aDatos[i,2] ))
DAT->( FieldPut( 3, aDatos[i,3] ))
next i
CLOSE DAT
USE armando alias "cus"
INDEX ON Field->peso TO peso
SET ORDER TO "peso"
ENDIF
RETURN nil
- Armando
- Posts: 3259
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 1 time
- Contact:
Re: Ejemplo de un Tree con xBrowse
César:
Te agradezco el ejemplo y tu amabilidad, como siempre.
Una diferencia es que yo uso ADO y MySql, pero bueno, es un comienzo.
Ojalá haya alguien más que aporte.
Saludos
Te agradezco el ejemplo y tu amabilidad, como siempre.
Una diferencia es que yo uso ADO y MySql, pero bueno, es un comienzo.
Ojalá haya alguien más que aporte.
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero