Hola Amigos:
Nuevamente aquí peleándome con un xBrowse.
EL browse esta definido para multiselect y necesito que al momento de
ir llenándolo con registros estos queden automáticamente seleccionados
con objeto de obtener el total de la columna.
Algún ejemplo?
Saludos
Select todos los registros en xBrowse (SOLUCIONADO)
Select todos los registros en xBrowse (SOLUCIONADO)
Last edited by Armando on Tue Nov 24, 2020 7:41 pm, edited 1 time in total.
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
- FranciscoA
- Posts: 1964
- Joined: Fri Jul 18, 2008 1:24 am
- Location: Chinandega, Nicaragua, C.A.
Re: Select todos los registros en xBrowse
Prueba el siguiente codigo y nos dices.
Saludos.
Code: Select all
//-----------------------------------------------//
// AGREGAR REGISTROS QUEDANDO AUTOMATICAMENTE SELECCIONADOS
//-----------------------------------------------//
Function MultiSeleTodo()
local oDlg, oBrw, oFont
local aGradBarSel := { { 1, RGB(252,232,171), RGB(248,195, 34) } }
local aGradRowSel := { { 1, RGB(118,145,164), RGB(241,222,088) } }
XbrNumFormat( 'A', .t. )
USE CUSTOMER NEW ALIAS "CUST" SHARED
COPY STRUCT TO ".\CUST2"
USE CUST2 NEW ALIAS "CUST2" EXCLUSIVE
CUST->(DBGOTO(5))
DBSELECTAREA("CUST2")
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-12
DEFINE DIALOG oDlg SIZE 700,400 PIXEL FONT oFont TITLE "AGREGAR ITEM Y SELECCIONARLO AUTOMATICAMENTE"
@ 20,10 XBROWSE oBrw SIZE -10,-40 PIXEL OF oDlg ;
DATASOURCE "CUST2" ;
COLUMNS "FIRST", "LAST", "CITY", "ZIP" ;
CELL LINES NOBORDER AUTOSORT
WITH OBJECT oBrw
:nMarqueeStyle := MARQSTYLE_HIGHLROWMS //Multiselect
:bClrSel := {|| { nRGB( 0, 0, 0), aGradRowSel } } // para barra de linea selecc cuando el control no tiene el foco
:bClrSelFocus := { || { CLR_BLACK, aGradBarSel } } // para barra de linea selecc cuando el control tiene el foco
:CreateFromCode()
END
@ 170, 10 BUTTON "Agregar Item" SIZE 60,20 PIXEL OF oDlg ;
ACTION ( AgregItem("CUST","CUST2") ,;
oBrw:SetFocus(), oBrw:Refresh() ,;
oBrw:Select(1),;
CUST->(DbSkip()) )
@ 170, 80 BUTTON "Salir" SIZE 60,20 PIXEL OF oDlg ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED
RELEASE FONT oFont
Cust->(dbclosearea())
Cust2->(dbclosearea())
Ferase(".\Cust2.dbf")
return nil
//-----------------------------------------------//
Function AgregItem(cAliasFuente,cAliasDest)
local n
(cAliasDest)->(dbappend())
For n := 1 to (cAliasFuente)->(Fcount())
(cAliasDest)->( FieldPut( n,(cAliasFuente)->(FieldGet(n)) ) )
Next
Return nil
Francisco J. Alegría P.
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
- FranciscoA
- Posts: 1964
- Joined: Fri Jul 18, 2008 1:24 am
- Location: Chinandega, Nicaragua, C.A.
Re: Select todos los registros en xBrowse
Una pregunta:Armando wrote:Hola Amigos:
Nuevamente aquí peleándome con un xBrowse.
EL browse esta definido para multiselect y necesito que al momento de
ir llenándolo con registros estos queden automáticamente seleccionados
con objeto de obtener el total de la columna.
Algún ejemplo?
Saludos
El total de la columna no lo obtienes con oBrw:MakeTotals() ?
Francisco J. Alegría P.
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
Re: Select todos los registros en xBrowse
Francisco:
Como siempre, sacando las papas del horno.
El :MakeTotals no me sirve porque debo permitir al usuario
que también pueda elegir renglones a quitar. En otras palabras
necesito ambas posibilidades, MakeTotals y Select.
Voy a probar tu sugerencia.
Saludos
Como siempre, sacando las papas del horno.
El :MakeTotals no me sirve porque debo permitir al usuario
que también pueda elegir renglones a quitar. En otras palabras
necesito ambas posibilidades, MakeTotals y Select.
Voy a probar tu sugerencia.
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: Select todos los registros en xBrowse
Armando, siguendo el ejemplo de Francisco, tambien podrias hacer una suma condicional, y usar en la tabla que editas un campo condicional con SetCheck
Espero te tire una pista
Code: Select all
#include "FiveWin.ch"
#include "xbrowse.ch"
//-----------------------------------------------//
// AGREGAR REGISTROS QUEDANDO AUTOMATICAMENTE SELECCIONADOS
//-----------------------------------------------//
Function MultiSeleTodo()
local oDlg, oBrw, oFont, aTabla := {}
local aGradBarSel := { { 1, RGB(252,232,171), RGB(248,195, 34) } }
local aGradRowSel := { { 1, RGB(118,145,164), RGB(241,222,088) } }
XbrNumFormat( 'A', .t. )
//USE CUSTOMER NEW ALIAS "CUST" SHARED
//COPY STRUCT TO ".\CUST2"
AADD(aTabla,{"selecc","L",1,0})
AADD(aTabla,{"codigo","N",03,0})
AADD(aTabla,{"nombre","C",30,0})
AADD(aTabla,{"import","N",10,2})
DBCREATE("CUST2",atabla)
USE CUST2 NEW ALIAS "CUST2" EXCLUSIVE
//CUST->(DBGOTO(5))
DBSELECTAREA("CUST2")
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-12
DEFINE DIALOG oDlg SIZE 700,400 PIXEL FONT oFont TITLE "AGREGAR ITEM Y SELECCIONARLO AUTOMATICAMENTE"
@ 20,10 XBROWSE oBrw SIZE -10,-40 PIXEL OF oDlg ;
DATASOURCE "CUST2" ;
COLUMNS "SELECC", "CODIGO", "NOMBRE", "IMPORT" FOOTERS;
CELL LINES NOBORDER AUTOSORT ON CHANGE oBrw:MakeTotals()
WITH OBJECT oBrw
//:nMarqueeStyle := MARQSTYLE_HIGHLROWMS //Multiselect
:bClrSel := {|| { nRGB( 0, 0, 0), aGradRowSel } } // para barra de linea selecc cuando el control no tiene el foco
:bClrSelFocus := { || { CLR_BLACK, aGradBarSel } } // para barra de linea selecc cuando el control tiene el foco
:aCols[ 1 ]:nEditType := EDIT_GET
:aCols[ 1 ]:SetCheck()
:aCols[ 4 ]:nFooterType := AGGR_SUM
:aCols[ 4 ]:bSumCondition := {|| cust2->selecc = .T.}
:MakeTotals()
:CreateFromCode()
END
@ 170, 10 BUTTON "Agregar Item" SIZE 60,20 PIXEL OF oDlg ;
ACTION ( AgregItem("CUST2") ,;
oBrw:SetFocus(), oBrw:Refresh(),oBrw:MakeTotals())
//oBrw:Select(1),;
//CUST->(DbSkip()) )
@ 170, 80 BUTTON "Salir" SIZE 60,20 PIXEL OF oDlg ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED
RELEASE FONT oFont
Cust2->(dbclosearea())
Ferase(".\Cust2.dbf")
return nil
//-----------------------------------------------//
Function AgregItem(cAliasDest)
(cAliasDest)->(dbappend())
(cAliasDest)->( FieldPut( 1,.t. ) )
(cAliasDest)->( FieldPut( 2,(cAliasDest)->(reccount()) ) )
(cAliasDest)->( FieldPut( 3,"Nombre"+STR((cAliasDest)->(reccount())) ) )
(cAliasDest)->( FieldPut( 4,100*(cAliasDest)->(reccount())) )
Return nil
Re: Select todos los registros en xBrowse
Amigos:
Deje el maketotals del select y el total global lo estoy haciendo "a pie".
Saludos
Deje el maketotals del select y el total global lo estoy haciendo "a pie".
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