Páginas

Mostrando entradas con la etiqueta sencha. Mostrar todas las entradas
Mostrando entradas con la etiqueta sencha. Mostrar todas las entradas

23 de mayo de 2012

no muestra datos en store cuando no esta vacío con scarol




conter_panel_grid.setScrollMode(Scroll.AUTOX);


en el sert data del grid deberiamos hacer un reconfigure
grid.reconfigure(gridBalance.getStore(), gridBalance.getColumnModel());
grid.getLayoutData();
conter_panel_grid.layout();

7 de febrero de 2012

idioma según el navegador [ idioma browser]



para que el idioma de la aplicación gwt sea el mismo que el del navegador debes de:

primero entrar en el archivo nombre_proyecto.gwt.xml habría que quitar las dobles comillas  < y >


 < extend-property name="locale" values="es_ES"/>

extend-property name=" locale" values="en"/>

extend-property name=" locale" values="fr"" />

< set-property-fallback name="locale" value="es_ES" />



en el archivo index.jsp

debes añadir esta linea y habría que quitar las dobles comillas  < y >
< meta name="gwt:property" content="locale=<%= request.getLocale() %/>

28 de septiembre de 2011

llamada entre dos servicios gwt


la llamada desde dos servicios

se hacer  muy simple

lo primoero se crea el objeto serviceImpl

ClassServiceImpl oSI = new ClassServiceImpl();

luego hacer las llamada al oSI.getContext() 

en esta clase te debe de devolver OjetoBeanRemote

asi podras llamar a los metos del servicio que desees

oSI.insertarBBDD();


24 de septiembre de 2011

tooltip grid cell whith messager


y en la creacion de las columnas del grid

    public static GridCellRenderer getTootipCeld(final String str) {
         GridCellRenderer renderer = new GridCellRenderer() {

            @Override
            public Object render(BaseModel model, String property,
                    ColumnData config, int rowIndex, int colIndex,
                    ListStore store, Grid grid) {
               
                Label label = new Label(""+model.get(property));
                label.setToolTip(str);
                return label;
   
            }
       
         };
       
         return renderer;
       
    }



y en la creacion de las columnas del grid

column.setRenderer(ColumnRendered.getTootipCeld("String"));


grid selected row


en la creación del grid

 grid.setSelectionModel(new GridSelectionModel());


en el presenter en la funcion bind


display.getGrid().addListener(Events.CellMouseDown, new Listener>() {


            @Override
            public void handleEvent(GridEvent be) {
               
                Objeto dec = display.getData();
                if (dec != null){
               BaseModel bd = display.getGrid().getSelectionModel().getSelectedItem();
                }else{
               
                    ApplicationMsg.getMsgError(conjuntoTipoInfosDisplay.ERROR.toString(), servicios.getMessages().error_datos());   
                }
               
            }

        });


10 de marzo de 2011

Grid with buttons

Esto en un ejemplo que viene el la pagina de sencha.com con algo mas de miga


en la parte del view debemos tener algo como esto

public void getListado(final ClickHandler handlerEdit, final ClickHandler handlerDelete,
final ConjuntoServicios servicios,
boolean bReadOnly) {

cp = new ContentPanel();

List configs = new ArrayList();


// A�adimos las columnas.
ColumnConfig clmncnfgID = new ColumnConfig("id", "Id", 100);
clmncnfgID.setHidden(true);
configs.add(clmncnfgID);


ColumnConfig clmncnfgSeccion = new ColumnConfig("id_1", servicios.getConstants().cmn_nombre(), 200);
configs.add(clmncnfgSeccion);

ColumnConfig clmncnfgCodigo = new ColumnConfig("id_2", servicios.getConstants().cmn_codigo(), 200);
configs.add(clmncnfgCodigo);

//añadimos el boton el colum render
// en este caso tenemos dos botones una de bajada y otro de subida
GridCellRenderer buttonDownRenderer = new GridCellRenderer() {
public Object render(final BaseModel model, String property, ColumnData config, final int rowIndex,
final int colIndex, ListStore store, final Grid grid) {

init = true;
grid.addListener(Events.ColumnResize, new Listener() {

public void handleEvent(GridEvent be) {

for (int i = 0; i < be.getGrid().getStore().getCount(); i++) { if (be.getGrid().getView().getWidget(i, be.getColIndex()) != null ){ // && be.getGrid().getView().getWidget(i, be.getColIndex()) instanceof BoxComponent) { //((BoxComponent) be.getGrid().getView().getWidget(i, be.getColIndex())).setWidth(be.getWidth() - 10); } } } }); Button bntDown = new Button(); bntDown.addSelectionListener( new SelectionListener() {
@Override
public void componentSelected(ButtonEvent ce) {
GridEvent gridEvent = new GridEvent(grid);
gridEvent.setModel(model);

//este es el evento que mando por boton que recojo en el presenter
grid.fireEvent(Events.Deactivate, gridEvent);
}
});

bntDown.setWidth(17);
bntDown.setHeight(17);
bntDown.setIconStyle("icon_bajar");

return bntDown;
}
};


//segundo boton
GridCellRenderer buttonUpRenderer = new GridCellRenderer() {
public Object render(final BaseModel model, String property, ColumnData config, final int rowIndex,
final int colIndex, ListStore store, final Grid grid) {
if (!init) {
init = true;

}


Button bntUp = new Button();
bntUp.addSelectionListener( new SelectionListener() {
@Override
public void componentSelected(ButtonEvent ce) {
GridEvent gridEvent = new GridEvent(grid);
gridEvent.setModel(model);
//evento que se lanza desde el view
grid.fireEvent(Events.TwinTriggerClick, gridEvent);
}
});
bntUp.setWidth(17);
bntUp.setHeight(17);
bntUp.setIconStyle("icon_subir");


return bntUp;
}
};

ColumnConfig columordenBajar= new ColumnConfig("in_orden", "", 30);
columordenBajar.setRenderer(buttonDownRenderer);
configs.add(columordenBajar);

ColumnConfig columordenSubir= new ColumnConfig("id_version", "", 30);
columordenSubir.setRenderer(buttonUpRenderer);
configs.add(columordenSubir);

ColumnConfig clmncnfgEditar = new ColumnConfig("idEditar", "", 80);
configs.add(clmncnfgEditar);

ColumnConfig clmncnfgEliminar = new ColumnConfig("idEliminar", "", 80);
configs.add(clmncnfgEliminar);

GridCellRenderer accionesEditarRenderer = new GridCellRenderer() {

@Override
public Object render(final BaseModel model, final String property, ColumnData config,
final int rowIndex, final int colIndex, final ListStore store,
final Grid grid) {

Anchor enlaceEditar = new Anchor("Editar", "#");
if (handlerEdit!=null) enlaceEditar.addClickHandler(handlerEdit);
return enlaceEditar;
}};
clmncnfgEditar.setAlignment(HorizontalAlignment.CENTER);
clmncnfgEditar.setRenderer(accionesEditarRenderer);


// Renderer de eliminar,
GridCellRenderer accionesEliminarRenderer = new GridCellRenderer() {

@Override
public Object render(final BaseModel model, final String property, ColumnData config,
final int rowIndex, final int colIndex, final ListStore store,
final Grid grid) {

Anchor enlaceEliminar = new Anchor("Eliminar", "#");
if (handlerDelete!=null) enlaceEliminar.addClickHandler(handlerDelete);
return enlaceEliminar;
}};

clmncnfgEliminar.setAlignment(HorizontalAlignment.CENTER);
clmncnfgEliminar.setRenderer(accionesEliminarRenderer);


grid = new Grid(new GroupingStore(), new ColumnModel(configs));
grid.setBorders(false);
//gridCompositeSecciones.setLoadMask(true);
grid.setAutoExpandColumn("no_garantia");
grid.setAutoExpandMax(1500);

grid.addListener(Events.ViewReady, Tools.configAutoHeightListener(this.grid, this.cp));
grid.addListener(Events.ColumnResize, Tools.configAutoHeightListener(this.grid, this.cp));
grid.getColumnModel().addListener(Events.HiddenChange, Tools.configAutoHeightListener(this.grid, this.cp));
grid.getStore().addListener(Store.Add, Tools.configAutoHeightListener(this.grid, this.cp));


Tools.maskEmptyGrid(grid, CasiopeaMessages.INSTANCE.grid_vacio_pulse_anadir());


en la parte del presenter en el bind() o donde declares los botones
como los eventos eran del grid aunque generados por los botoenes por eso tenemos que mandar el grid entero


this.display.getGrid().addListener(Events.Deactivate, new Listenert(){

@Override
public void handleEvent(GridEvent
be) {

actualizarSeccionOrden(-1,be.getModel(),be.getGrid().getStore().getCount());

}

});

this.display.getGrid().addListener(Events.TwinTriggerClick, new Listener
(){

@Override
public void handleEvent(GridEvent
be) {

actualizarSeccionOrden(+1,be.getModel(),be.getGrid().getStore().getCount());

}

});

27 de febrero de 2011

button with icons


primer tipo de icono con boton

final IButton stretchButton = new IButton("");
stretchButton.setWidth(50);
stretchButton.setShowRollOver(true);
stretchButton.setShowDisabled(true);
stretchButton.setShowDown(true);
stretchButton.setTitleStyle("Stretch Button");
stretchButton.setIcon("icons/16/find.png");

Segundo tipo de icono con boton

final Button cssButton = new Button("");
cssButton.setShowRollOver(true);
cssButton.setShowDisabled(true);
cssButton.setShowDown(true);
cssButton.setIcon("icons/16/icon_add_files.png");

Tercero tipo de icono con boton

final ImgButton imgButton = new ImgButton();
imgButton.setWidth(18);
imgButton.setHeight(18);
imgButton.setShowRollOver(true);
imgButton.setShowDown(true);
imgButton.setSrc("[SKIN]/ImgButton/button.png");





21 de enero de 2011

Tree Grid color column

al principio del tu list view

public class GVC extends GridViewConfig
{ @Override
public String getRowStyle(ModelData model, int rowIndex, ListStore ds)
{

if (model.get("in_estado")!=null){
if ((Integer)model.get("in_estado")==1) {
return "grid-endoso";
} else {
return "";
}
}else{
return "";
}
}
}


grid-endoso -> es una clase de css para el color.

te creas un objeto treeGridView para añadir la clase GVC
TreeGridView view = new TreeGridView();
view.setForceFit(true);
view.setViewConfig(new GVC());

luego lo añadres a tu treeGrid

treeGrid.setView(view);

18 de enero de 2011

Tree Grid

TreeStore storeArbol = new TreeStore();
TreeGrid treeGrid = null;

cuando se definda la columna en la primera, deberiamos de poner un render rn ella

ColumnConfig clmncnfg1 = new ColumnConfig("id", constants.cmn_cod_nota(), 100);
clmncnfg1.setAlignment(HorizontalAlignment.LEFT);
clmncnfg1.setRenderer(new TreeGridCellRenderer());
configs.add(clmncnfg1);

definicion del treeGrid

treeGrid = new TreeGrid(storeArbol, new ColumnModel(configs));
treeGrid.setBorders(true);
treeGrid.setAutoExpandMax(2000);

para rellenar el store del arbol deberimos de tener en la vista un metodo set de tipo
TreeGrid siendo BaseModel un modelo basico creado para nuestros prpositos

public void setStoreTreeGrid(TreeStore storeArbol){
this.storeArbol = storeArbol;
}

En el presenter rellenas un objeto TreeStore y se lo pasas al display.setStoreTreeGrid(treeGridRellenado())

esto debe estar antes del llamar al "init"

y se haces servicios para rellenar el store deberia estar dentro del servicio el "init" porque primero hay que rellenar el store y cuando se lo presentar al treeGrid ya lo pinta. ya que el treeGrid no tiene un reconfigure.


forma de insertar el treeStore
para crear padres
storeArbol.add(object,false);
para crear hijos
storeArbol.add(ncPadre,object,false);

3 de diciembre de 2010

GWT: grid con tooltip


una opcion para poner un tooltip en un grid es la que viene en la pagina de sencha


crearse esta función

  1. GridCellRenderer change = new GridCellRenderer() {
  2. public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
  3. ListStore store, Grid grid) {
  4. double val = (Double) model.get(property);

  5. return " + cm.getColumnById(property).getHeader() + "' qtip='" + v
  6. + "'>" + v + "";
  7. }
  8. };


en la columna donde se va a generar el tooltip se debemos de poner algo como

  1. column = new ColumnConfig("change", "Change", 100);
  2. column.setRenderer(change);
  3. configs.add(column);



al final de la función donde este declarado el gird poner


new QuickTip(grid);


otra manera de hacer esto seria

  1. GridCellRenderer change = new GridCellRenderer() {
  2. public label render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
  3. ListStore store, Grid grid) {
  4. double val = (Double) model.get(property);
  5. Label label = new Label();
  6. label.add(val);
  7. label.setTootip(val);
  8. return label;
  9. }
  10. };

después de esto solo debes de introducirlo a la columna



  1. column = new ColumnConfig("change", "Change", 100);
  2. column.setRenderer(change);
  3. configs.add(column);


espero que ayude estos dos dos tipos de tootips en grid.