Definir ordem default para lista Ola criei um formulario de busca de pessoas . mas gostaria de ordenar em ordem alfabetica as listagem como faço ? ...
EJ
Definir ordem default para lista  
Fechado
Ola criei um formulario de busca de pessoas . mas gostaria de ordenar em ordem alfabetica as listagem como faço ?

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (4)


LA

Ola Elizeu.
Para definir a ordem padrão:

 
  1. <?php
  2. class PessoasList extends TStandardList {
  3. ...
  4. public function __construct() {
  5. parent::__construct();
  6. parent::setDefaultOrder('nome', 'asc'); // defines the default order
  7. ...
  8. ?>


Veja este exemplo. Clique no titulo das colunas: www.adianti.com.br/framework_files/tutor/index.php?class=CustomerDat
PD

Elizeu,

Defina um título mais sugestivo para a dúvida, ok?

Abraço,
LT

Ola criei um formulario . mas gostaria de ordenar em ordem alfabetica as item do "nombre_puesto_migratorio" como faço ?

/** * Load the data into the datagrid */ public function onReload($param) { $this->datagrid->clear(); self::cambiarValorFechas($param); $formulario = $this->form->getData(); $this->form->setData($formulario); $DVAR_final_id_cab = (isset($param['id_planilla_horarios_cab']))?$param['id_planilla_horarios_cab']:SigUtilitarios::cabecera_actual(); $SVAR_final_fecha = (isset($formulario->seleccion_fecha_mes))?$formulario->seleccion_fecha_mes:''; $ARRVAR_horario_actual = SigUtilitarios::horario_actual($DVAR_final_id_cab, $SVAR_final_fecha); self::cambiarValorTitulo($param, $DVAR_final_id_cab, $SVAR_final_fecha); foreach ($ARRVAR_horario_actual as $row){ // add an regular object to the datagrid $item = new StdClass; $item->id_planilla_horarios_det = $row['id_planilla_horarios_det']; $item->franja = $row['ingreso']; $item->apellido_nombre = $row['nombre_agente']; $item->nombre_puesto_migratorio = $row['nombre_puesto_migratorio']; $item->dia = $row['dia']; $item->cobertura_agente = ''; $item->sector = SigUtilitarios::obtener_nombre_sector($row['id_franja_horaria'], $row['sector']); $item->guardia = $row['guardia']; $item->cambio_por = $row['ingreso']; $item->id_franja_horaria = $row['id_franja_horaria']; $item->cobertura_agente = $row['agente_cobertura']; $item->nota = $row['nota']; $item->temperatura = ''; $this->datagrid->addItem($item); } } /** * Executed when the user clicks at the view button */ public function onView($param) { $window = TWindow::create(_t('History'), 0.5, 0.3); $ARRVAR_historial = SigUtilitarios::historial_horario($param['id']); // creates one datagrid $this->datagrid_historial = new BootstrapDatagridWrapper(new TDataGrid); $this->datagrid_historial->clear(); // create the datagrid columns $tipo = new TDataGridColumn('tipo', _t('Kind'), 'center', '10%'); $nombre_agente_solicitado = new TDataGridColumn('nombre_agente_solicitado', _t('Receiver'), 'center', '10%'); $nombre_agente_solicitante = new TDataGridColumn('nombre_agente_solicitante', _t('Sender'), 'left', '30%'); $fecha = new TDataGridColumn('fecha', _t('Date'), 'center', '10%'); $this->datagrid_historial->addColumn($tipo); $this->datagrid_historial->addColumn($nombre_agente_solicitado); $this->datagrid_historial->addColumn($nombre_agente_solicitante); $this->datagrid_historial->addColumn($fecha);
LA

uso este modelo de Search e Reload.

 
  1. <?php
  2. public function onSearch($param = NULL) {
  3. $dados_form = $this->form->getData($this->activeRecord);
  4. /* --------------------------------------------------------------------------- */
  5. //Limpar filtros de sessão
  6. TSession::setValue('ExemploList_filter_nome', NULL);
  7. /* --------------------------------------------------------------------------- */
  8. //Criar filtros de sessão
  9. if (!empty($dados_form->nome)) {
  10. $filter = new TFilter('lower(nome)', 'like', '%' . strtolower($dados_form->nome) . '%');
  11. TSession::setValue('ExemploList_filter_nome', $filter);
  12. }
  13. /* --------------------------------------------------------------------------- */
  14. //Salvar dados preenchidos do formulário na sessão
  15. TSession::setValue('ExemploList_filter_dados', $dados_form);
  16. $param = array();
  17. $param['offset'] = 0;
  18. $param['first_page'] = 1;
  19. $this->onReload($param);
  20. }
  21. ?>


 
  1. <?php
  2. public function onReload($param = NULL) {
  3. try {
  4. TTransaction::open('samples');
  5. $repository = new TRepository('Customer');
  6. $criteria = new TCriteria;
  7. $limit = 5;
  8. if (empty($param['order'])) {
  9. $param['order'] = 'nome';
  10. $param['direction'] = 'desc';
  11. }
  12. $criteria->setProperties($param); // order, offset
  13. $criteria->setProperty('limit', $limit);
  14. /* --------------------------------------------------------------------------- */
  15. //Adicionar filtros da sessão
  16. /* Fixos */
  17. $fixos = new TCriteria;
  18. $fixos->add(new TFilter('id_empresa', '=', TSession::getValue('userunitid')));
  19. $criteria->add($fixos);
  20. //Outros
  21. if (TSession::getValue('ExemploList_filter_nome')) {
  22. $criteria->add(TSession::getValue('ExemploList_filter_nome'));
  23. }
  24. /* --------------------------------------------------------------------------- */
  25. $objects = $repository->load($criteria, FALSE); //Carregar os objetos de acordo com os critérios
  26. if (is_callable($this->transformCallback)) {
  27. call_user_func($this->transformCallback, $objects, $param);
  28. }
  29. //Carrega grid
  30. $this->datagrid->clear();
  31. if ($objects) {
  32. foreach ($objects as $object) {
  33. $this->datagrid->addItem($object);
  34. }
  35. }
  36. //Carrega form
  37. $this->form->setData(TSession::getValue('ExemploList_filter_dados'));
  38. //Exibi SQL usado
  39. echo $criteria->dump();
  40. /* Redefinir os critérios para contagem de registros */
  41. $criteria->resetProperties();
  42. $count = $repository->count($criteria);
  43. $this->pageNavigation->setCount($count); //Contagem de registros
  44. $this->pageNavigation->setProperties($param); //order, page
  45. $this->pageNavigation->setLimit($limit); //limit
  46. /**/
  47. TTransaction::close();
  48. $this->loaded = true;
  49. } catch (Exception $e) { // in case of exception
  50. new TMessage('error', $e->getMessage());
  51. TTransaction::rollback(); //Desfazer todas as operações pendentes
  52. }
  53. }
  54. ?>