saludos estimados amigos.
necesito hacer un xBrowse de entrada de datos.
En primer lugar, quiero poder presionar un botón dentro de la primera celda y que se llame a una función que me mostrara un LISTBOX de donde seleccionare al cliente.
desde ese listbox debo traerme el nombre del cliente y asignarlo a la celda. Por favor fijarse en el numero 1 en rojo de la imagen
luego en la siguiente celda que marco con el numero dos, quiero que aparezca un boton que al presionarlo tenga un calendario con la fecha de hoy por defecto y que el usuario seleccione.
ver numero 2 en rojo de la imagen
En la siguiente, poder seleccionar con un combobox, los dias de credito que tendra la factura, y al hacerlo, que en la celda siguiente aparezca fecha de la primera celda + días que se asignaron.
Luego las demás celdas tendrán unas campos char, otras numeros, y una ultima un campo memo.
¿en que PRGs de la carpeta samples de fivewin puedo conseguir ejemplos para que me sirvan de guias?
espero haberme explicado bien.
gracias!
xBrowse full input
- JoseAlvarez
- Posts: 807
- Joined: Sun Nov 09, 2014 5:01 pm
xBrowse full input
"Los errores en programación, siempre están entre la silla y el teclado..."
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Re: xBrowse full input
Una idea:
Code: Select all | Expand
#include "FiveWin.ch"
#include "xBrowse.ch"
REQUEST HB_LANG_ESWIN
REQUEST HB_CODEPAGE_ESMWIN
STATIC oBrw, aData
function Main()
LOCAL aClientes := {"Cliente 1","Cliente 2","Cliente 3","Cliente 4"},;
oForm
SET DATE FORMAT "DD/MM/YYYY"
SET 3DLOOK ON
HB_LANGSELECT( 'ESWIN' )
aData := {{"",CTOD(' / / '),0,CTOD(' / / ')}}
DEFINE DIALOG oForm TITLE "Jose" FROM 05,10 TO 42,100
@ 05,05 XBROWSE oBrw ARRAY aData;
COLUMNS 1,2,3,4;
HEADERS "Cliente","Fecha","Dias","Vencimiento";
SIZES 300,100,100,100;
OF oForm 340,215 PIXEL
WITH OBJECT oBrw
:aCols[1]:nEditType := EDIT_LISTBOX
:aCols[1]:aEditListTxt := aClientes
:aCols[2]:nEditType := EDIT_DATE
:aCols[3]:nEditType := EDIT_LISTBOX
:aCols[3]:aEditListTxt := {"10","20","30","40"}
:aCols[3]:aEditListBound := {10,20,30,40}
:aCols[3]:bOnPostEdit := { |o,x,n| Llenar(o,x) }
:bPastEof := {|| aadd(aData, {"",CTOD(' / / '),0,CTOD(' / / ')})}
END
oBrw:CreateFromCode()
ACTIVATE DIALOG oForm CENTER
RETURN nil
STATIC FUNCTION Llenar(o,x)
o:value := x
aData[oBrw:nArrayAt,4] := aData[oBrw:nArrayAt,2]+ x
RETURN nil
- JoseAlvarez
- Posts: 807
- Joined: Sun Nov 09, 2014 5:01 pm
Re: xBrowse full input
Gracias césar! increible que sea tan sencillo... voy a implementar y luego comentare que tal me fue.cmsoft wrote:Una idea:Code: Select all | Expand
#include "FiveWin.ch" #include "xBrowse.ch" REQUEST HB_LANG_ESWIN REQUEST HB_CODEPAGE_ESMWIN STATIC oBrw, aData function Main() LOCAL aClientes := {"Cliente 1","Cliente 2","Cliente 3","Cliente 4"},; oForm SET DATE FORMAT "DD/MM/YYYY" SET 3DLOOK ON HB_LANGSELECT( 'ESWIN' ) aData := {{"",CTOD(' / / '),0,CTOD(' / / ')}} DEFINE DIALOG oForm TITLE "Jose" FROM 05,10 TO 42,100 @ 05,05 XBROWSE oBrw ARRAY aData; COLUMNS 1,2,3,4; HEADERS "Cliente","Fecha","Dias","Vencimiento"; SIZES 300,100,100,100; OF oForm 340,215 PIXEL WITH OBJECT oBrw :aCols[1]:nEditType := EDIT_LISTBOX :aCols[1]:aEditListTxt := aClientes :aCols[2]:nEditType := EDIT_DATE :aCols[3]:nEditType := EDIT_LISTBOX :aCols[3]:aEditListTxt := {"10","20","30","40"} :aCols[3]:aEditListBound := {10,20,30,40} :aCols[3]:bOnPostEdit := { |o,x,n| Llenar(o,x) } :bPastEof := {|| aadd(aData, {"",CTOD(' / / '),0,CTOD(' / / ')})} END oBrw:CreateFromCode() ACTIVATE DIALOG oForm CENTER RETURN nil STATIC FUNCTION Llenar(o,x) o:value := x aData[oBrw:nArrayAt,4] := aData[oBrw:nArrayAt,2]+ x RETURN nil
Agradecido !!
"Los errores en programación, siempre están entre la silla y el teclado..."
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Re: xBrowse full input
Si quieres llamar a una funcion que busque en tu base de datos, puedes hacer:
Code: Select all | Expand
:aCols[1]:bEditBlock := {|r,c,o,k| (c := MiBusqueda(), o:value := c) }
:aCols[1]:nEditType := EDIT_BUTTON
Re: xBrowse full input
César:
Excelente ejemplo, tengo dos preguntas:
1.- En tú ejemplo, el browse agrega dos columnas a la derecha, sin título y con los valores 340 y 215 respectivamente
2.- Podrías poner un ejemplo con recordset?, por favor.
Saludos
Excelente ejemplo, tengo dos preguntas:
1.- En tú ejemplo, el browse agrega dos columnas a la derecha, sin título y con los valores 340 y 215 respectivamente
2.- Podrías poner un ejemplo con recordset?, por favor.
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
Re: xBrowse full input
Es verdad, me falto la clausula SIZEArmando wrote:César:
1.- En tú ejemplo, el browse agrega dos columnas a la derecha, sin título y con los valores 340 y 215 respectivamente
OF oForm SIZE 340,215 PIXEL
Uso dolphin pero es adaptable a cualquier recorsetArmando wrote:2.- Podrías poner un ejemplo con recordset?, por favor.
Code: Select all | Expand
#include "FiveWin.ch"
#include "xBrowse.ch"
#include "tdolphin.ch"
REQUEST HB_LANG_ESWIN
REQUEST HB_CODEPAGE_ESMWIN
STATIC oBrw, oQryTem
function Main()
LOCAL oForm, oServer, oQryCli
CONNECT oServer HOST 'localhost' ;
USER 'user' ;
PASSWORD 'mipassword' ;
PORT 3306 ;
FLAGS 0;
DATABASE 'test'
oQryCli := oServer:Query("SELECT code,first,last FROM clients ORDER BY last")
oQryTem := oServer:Query("SELECT * FROM tempor")
SET DATE FORMAT "DD/MM/YYYY"
SET 3DLOOK ON
HB_LANGSELECT( 'ESWIN' )
DEFINE DIALOG oForm TITLE "Armando" FROM 05,10 TO 42,100
@ 05,05 XBROWSE oBrw DATASOURCE oQryTem;
COLUMNS "code","nombre","cantidad";
HEADERS "Codigo","Apellido y Nombre","Cantidad";
SIZES 100,300,100;
OF oForm SIZE 340,215 PIXEL
WITH OBJECT oBrw
:aCols[1]:bEditBlock := {|r,c,o,k| (c := MiBusqueda(oQryCli), o:value := c) }
:aCols[1]:nEditType := EDIT_BUTTON
:aCols[3]:nEditType := EDIT_GET
:bRecSelHeader := { || " "}
:RecSelShowKeyNo()
:bPastEof := {|| oQryTem:GetBlankRow(),oQryTem:Save(),oBrw:Refresh()}
END
oBrw:CreateFromCode()
ACTIVATE DIALOG oForm CENTER
RETURN nil
STATIC function MiBusqueda(oQry)
xbrowse(oQry) //Aca muestras una busqueda personalizada tuya
oQryTem:nombre := alltrim(oQry:last)+", "+alltrim(oQry:first)
oQryTem:Save()
RETURN oQry:code
Re: xBrowse full input
César:
Muchas gracias, le voy a tirar un ojo.
Saludos
Muchas gracias, le voy a tirar un ojo.
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