FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Se puede tener un Combobox, con esta condici贸n ...
Posts: 163
Joined: Thu Mar 16, 2017 04:08 PM
Se puede tener un Combobox, con esta condici贸n ...
Posted: Thu Jun 11, 2020 05:52 PM

Estimados:

Una consulta, 驴es posible crear un Combobox, de forma que de acuerdo a una condici贸n previa, cambie la seleccionabilidad de algunos de los elementos a mostrarse en la lista de selecci贸n (los oCbx:aItems), es decir la lista no cambiar铆a, pero si la seleccionabilidad de algunos de los elementos, de esta forma se los saltar谩 con el recorrido del cursor y no se los puede seleccionar?.

Saludos

Fernando Espinoza A.

Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Se puede tener un Combobox, con esta condici贸n ...
Posted: Thu Jun 11, 2020 06:49 PM
Estimado Nano

Quiz谩s 茅sto te pueda guiar
Code (fw): Select all Collapse
  REDEFINE COMBOBOX oCbx1 VAR nSect ID 103 OF oDlgD ITEMS aSect ON CHANGE (lugar(nSect),oCbx2:SetItems( aLugar ), oCbx2:refresh())
  REDEFINE COMBOBOX oCbx2 VAR nLug ID 104 OF oDlgD ITEMS aLugar UPDATE
Saludos,



Adhemar C.
Posts: 163
Joined: Thu Mar 16, 2017 04:08 PM
Re: Se puede tener un Combobox, con esta condici贸n ...
Posted: Thu Jun 11, 2020 10:22 PM

Estimado ACuellar:

Gracias por su respuesta, la parte que me indica ya la tengo conocida; lo que quiero es que al abrirse la lista de opciones del combobox, supongamos que son 10, se muestren las 10, pero que algunas no sean elegibles, es decir est茅n en un modo Disable(), por tanto, no se puedan seleccionar.

Saludos

Fernando Espinoza A.

Posts: 163
Joined: Thu Mar 16, 2017 04:08 PM
Re: Se puede tener un Combobox, con esta condici贸n ...
Posted: Sat Jun 13, 2020 02:32 AM

Estimados:

Alguien con alguna experiencia en este tema que pueda ayudar.

Saludos

Fernando Espinoza A.

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Se puede tener un Combobox, con esta condici贸n ...
Posted: Sat Jun 13, 2020 02:35 PM

Fernando, lo de no permitir elegir un determinado item, basado en una condici贸n, no es dif铆cil, si cuando estableces la condici贸n, creas un array con el mismo n煤mero de elementos que el array que vas a mostrar en el combo, y en la cla煤sula ON CHANGE valoras si el array de "condiciones" tiene .T. en esa posici贸n ( aCondiciones[ oCbx:nAt ] ), y si est谩 a falso te vas al siguiente ( oCbx:nAt++, aunque tendr谩s que controlar que no se pase del Len() del array que hay en el combobox )
Por ah铆 van los tiros, pienso yo
En cuanto a que aparezca en disable, lo veo m谩s complicado, y habr铆a que intentar implementarlo en la cla煤sula ON DRAWITEM del combo, pienso yo
Por ello, yo para eso, pondr铆a un boton de action en un get y mostrar铆a un menu POPUP, creo que te dar铆a m谩s facilidad de controlar lo que pretendes

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Se puede tener un Combobox, con esta condici贸n ...
Posted: Sun Jun 14, 2020 10:18 AM
Fernando

Otra opci贸n seria cambiar el COMBOBOX por un GET con BITMAP y mostrar los item en un xBrowse
Code (fw): Select all Collapse
 REDEFINE GET oGet Var oDBF:ITEM ID 103 OF oDlg PICTURE "@!" BITMAP "BUSCAR";
         ACTION ( BuscaITEM(oGet,oDlg) )

....
FUNCTION BuscaITEM(oGet,oDlg)
  definir el xbrowse
Return Nil
Saludos,



Adhemar C.
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: Se puede tener un Combobox, con esta condici贸n ...
Posted: Sat Jul 04, 2020 03:56 AM
Hola yo utilizo dbcombo, eso si que tuve que hacer unos ajustes

Code (fw): Select all Collapse
#xcommand REDEFINE DBCOMBO [ <oCbx> VAR ] <cVar> ;
聽 聽 聽 聽 聽 聽 聽[ <items: ITEMS> <aItems> ] ;
聽 聽 聽 聽 聽 聽 聽[ ID <nId> ] ;
聽 聽 聽 聽 聽 聽 聽[ <dlg:OF,WINDOW,DIALOG> <oWnd> ] ;
聽 聽 聽 聽 聽 聽 聽[ <help:HELPID, HELP ID> <nHelpId> ] ;
聽 聽 聽 聽 聽 聽 聽[ ON CHANGE <uChange> ] ;
聽 聽 聽 聽 聽[ CONDICION <uCondicion> ] ;
聽 聽 聽 聽 聽[ FINCONDICION <uEndCondicion> ] ;
聽 聽 聽 聽 聽[ FOR <uFor> ] ;
聽 聽 聽 聽 聽[ <lnoblank: NOBLANK> ] ;
聽 聽 聽 聽 聽 聽 聽[ VALID 聽 <uValid> ] ;
聽 聽 聽 聽 聽 聽 聽[ <color: COLOR,COLORS> <nClrText> [,<nClrBack>] ] ;
聽 聽 聽 聽 聽 聽 聽[ <update: UPDATE> ] ;
聽 聽 聽 聽 聽 聽 聽[ MESSAGE <cMsg> ] ;
聽 聽 聽 聽 聽 聽 聽[ WHEN <uWhen> ] ;
聽 聽 聽 聽 聽 聽 聽[ BITMAPS <acBitmaps> ] ;
聽 聽 聽 聽 聽 聽 聽[ ON DRAWITEM <uBmpSelect> ] ;
聽 聽 聽 聽 聽 聽 聽[ ALIAS <cAlias> ] ;
聽 聽 聽 聽 聽 聽 聽[ ITEMFIELD <cFldItem> ] ;
聽 聽 聽 聽 聽 聽 聽[ LISTFIELD <cFldList> ] ;
聽 聽 聽 聽 聽 聽 聽[ <list: LIST, PROMPTS> <aList> ] ;
聽 聽 聽 聽=> ;
聽 聽 聽 聽 聽 [ <oCbx> := ] TDBCombo():ReDefine( <nId>, bSETGET(<cVar>),;
聽 聽 聽 聽 聽 聽 聽<aItems>, <oWnd>, <nHelpId>, <{uValid}>, [{|Self|<uChange>}],;
聽 聽 聽 聽 聽 聽 聽<nClrText>, <nClrBack>, <cMsg>, <.update.>, <{uWhen}>,;
聽 聽 聽 聽 聽 聽 聽<acBitmaps>, [{|nItem|<uBmpSelect>}], ;
聽 聽 聽 聽 聽 聽 聽<cAlias>, <(cFldItem)>, <(cFldList)>, <aList>, <{uCondicion}>, <{uEndCondicion}>, <{uFor}>, <.lnoblank.> )



Code (fw): Select all Collapse
REDEFINE DBCOMBO oCombo VAR dbPAR2:sucursal聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 ID 21聽 聽OF oDlg UPDATE聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 ALIAS "TABLAS" 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 ITEMFIELD "COD_TABLA" 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 LISTFIELD "NOM_TABLA" 聽 聽 聽 聽 聽 聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 COLOR CLR_BLACK, RGB(255,255,200)聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 CONDICION ( Tablas->( OrdScope( 0, "SUC" ) ), Tablas->( OrdScope( 1, "SUC" ) ) ) ;
聽 聽 FINCONDICION ( Tablas->( OrdScope( 0, NIL ) ), Tablas->( OrdScope( 1, NIL ) ) );
聽 聽 FOR Tablas->cod_tabla <> "00000";
聽 聽 ON CHANGE (dbPAr2:Seek( dbPAR2:Sucursal ), dbPAR2:Load(), oDlg:Update());
聽 聽 NOBLANK
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl

Continue the discussion