hacer filtro de un grid

Un foro de discusión para nuestra comunidad de hispano hablante

Moderator: amosbatto

lupacexi
Posts: 1
Joined: Fri Jul 14, 2017 1:08 pm
Country: United States of America

hacer filtro de un grid

Unread postby lupacexi » Fri Jul 14, 2017 1:10 pm

buenas tardes, mi problema consiste en que quiero hacer un filtro de un grid de la siguiente forma:
primero leer en un campo de texto el nombre o código que se desea buscar en la grid para seleccionar dicha fila, las demás deberían desaparecer del grid, estaba pensando en implementar de la siguiente forma:

al momento de presionar el botón filtrar llamar al trigger de dicho formulario el cual realice una consulta a la BD con el like correspondiente y volver a llenar el grid, pero en esta solucion no se como volver a direccionar al formulario que quiero, en este caso al anterior, ¿alguna idea? o ¿alguna otra solución? desde ya muchas gracias a todos

pablobarroso
Posts: 10
Joined: Wed Jul 01, 2015 12:12 pm
Country: Bolivia

Re: hacer filtro de un grid

Unread postby pablobarroso » Fri Jul 14, 2017 5:01 pm

Hola lupacexi!

Lo que podrías necesitar es realizar campos dependientes, esto lo puedes ver en este link.
http://wiki.processmaker.com/3.0/Dependent_Fields.

Existe una propiedad en los controles dropdown o suggestion u otros controles web en la cual puedes hacer una query para llenar información de una base de datos. Asimismo, te menciono que la dependencia entre dos campos se realiza usando la condición lógica en SQL.

Ahora se puede utilizar un trigger para que dado un dato de entrada en un campo de texto, los demás campos se populen. Te invito a revisar la documentación sobre grillas

http://wiki.processmaker.com/3.2/Trigger_Examples#Sending_Grid_Information_via_Email en la cual puedes encontrar la sintaxis para incluir la grilla en un trigger PHP. Generalemente, a las grillas se las trata como arrays asociativos.

amosbatto
Posts: 5334
Joined: Mon Jun 22, 2009 10:28 am
Country: Bolivia
Location: La Paz

Re: hacer filtro de un grid

Unread postby amosbatto » Fri Jul 14, 2017 6:31 pm

Hay muchas maneras para hacer esto, pero la manera más fácil es usar control.executeQuery() en una DynaForm.
Ver Example 2 en: viewtopic.php?f=47&t=710110&p=789379#p789379

Tu codigo JavaScript será algo como:

Code: Select all

$("#searchServices").click( function() {
   var search = $("#filterServices").getValue();
   if (search == "") {
      alert("Please enter a search term for the list of services.");
   }
   else {
      //clear the existing grid:
      var nRow = $("#servicesGrid").getNumberRows();
      for (; nRow >= 1; nRow--) {
         $("#"+gridId).deleteRow(nRow);
      }
     
      var aServices = getFieldById("queryServices").executeQuery();
      for (idx in aServices) {
         var aFields = aServices[idx].text.split("|");
         $("#servicesList").addRow( [
            {value: aFields[0]},
            {value: aFields[1]},
            {value: aFields[2]},
            {value: aFields[3]}
         ]);
      }
   }
} );
Amos B. Batto ♦ ProcessMaker Technical Documentation Writer & Forum Manager ♦ Cofounder of ILLA (http://www.illa-a.org)


Return to “Español”

Who is online

Users browsing this forum: No registered users and 3 guests