Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
Aumentar tamanho do input no inline edit Gostaria de aumentar o tamanho do input quando eu faço um inline edit, por exemplo no print abaixo ele fica pequeno, gostaria de aumentar para um width 100%, é possivel?? Obrigado! http://prntscr.com/dgp92n...
IV
Aumentar tamanho do input no inline edit  
Gostaria de aumentar o tamanho do input quando eu faço um inline edit, por exemplo no print abaixo ele fica pequeno, gostaria de aumentar para um width 100%, é possivel??


Obrigado!

prntscr.com/dgp92n

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (6)


NR

Adicione a função tdatagrid_inlineedit no arquivo app/lib/include/applications.js
  1. <?php
  2. function tdatagrid_inlineeditquerystring )
  3. {
  4.     $(function() {
  5.         $(".inlineediting").editInPlace({
  6.                 callback: function(unusedenteredText)
  7.                 {
  8.                     __adianti_load_page( $(this).attr("action") + querystring '&key='+ $(this).attr("key")+"&field="+ $(this).attr("field")+"&value="+encodeURIComponent(enteredText));
  9.                     return enteredText;
  10.                 },
  11.                 show_buttonsfalse,
  12.                 text_size:20,
  13.                 params:column=name
  14.         });
  15.     });
  16. }
  17. ?>

Modifique o parâmetro text_size conforme desejado.
FC

Pegando o gancho da pergunta Nataniel se eu colocar o código assim:

  1. <?php
  2. function tdatagrid_inlineeditquerystring )
  3. {
  4.     $(function() {
  5.         $(".inlineediting").editInPlace({
  6.                 callback: function(unusedenteredText)
  7.                 {
  8.                     __adianti_load_page( $(this).attr("action") + querystring '&key='+ $(this).attr("key")+"&field="+ $(this).attr("field")+"&value="+encodeURIComponent(enteredText));
  9.                     return enteredText;
  10.                 },
  11.                 show_buttonsfalse,
  12.                 text_size:20,
  13.                 params:column=name,
  14.                 field_type"select",
  15.                 select_options"1:Ativo,2:Inativo"
  16.                 
  17.         });
  18.     });
  19. }
  20. ?>

Ele vira uma combo box até ai fui bem mas tem como fazer que apenas os campos que eu quero fiquem como combo inline?
FC

Bem consegui descobrir ;)

vou explicar aqui porém ele foge as boas praticas

no arquivo application.js

  1. <?php
  2. function tdatagrid_inlineedit2querystring )
  3. {
  4.     $(function() {
  5.         $(".inlineediting2").editInPlace({
  6.                 callback: function(unusedenteredText)
  7.                 {
  8.                     __adianti_load_page( $(this).attr("action") + querystring '&key='+ $(this).attr("key")+"&field="+ $(this).attr("field")+"&value="+encodeURIComponent(enteredText));
  9.                     return enteredText;
  10.                 },
  11.                 show_buttonsfalse,
  12.                 text_size:20,
  13.                 params:column=name,
  14.                 field_type"select",
  15.                 select_options"1:Ativo,2:Inativo"
  16.                 
  17.         });
  18.     });
  19. }
  20. ?>


na classe TDataGrid

no trecho

  1. <?php
  2. if ($editaction $column->getEditAction())
  3.     {
  4.                        $editaction_field $editaction->getField();
  5.                         $div = new TElement('div');
  6.                         if($name == 'name'){
  7.                         $div->{'class'}  = 'inlineediting2';
  8.                         }else{
  9.                         $div->{'class'}  = 'inlineediting';
  10.                         }
  11.                         $div->{'style'}  = 'padding-left:5px;padding-right:5px';
  12.                         $div->{'action'} = $editaction->serialize();
  13.                         $div->{'field'}  = $name;
  14.                         $div->{'key'}    = isset($object->{$editaction_field}) ? $object->{$editaction_field} : NULL;
  15.                         $div->add($data);
  16.                         $cell = new TElement('td');
  17.                         $row->add($cell);
  18.                         $cell->add($div);
  19.                         $cell->{'class'} = 'tdatagrid_cell';
  20.                     }
  21.                     
  22. ?>


incluir na funcao show da classe a linha para a funcao 2

  1. <?php
  2. function show()
  3.     {
  4.         // shows the datagrid
  5.         parent::show();
  6.         
  7.         $params $_REQUEST;
  8.         unset($params['class']);
  9.         unset($params['method']);
  10.         // to keep browsing parameters (order, page, first_page, ...)
  11.         $urlparams='&'.http_build_query($params);
  12.         
  13.         // inline editing treatment
  14.         TScript::create(" tdatagrid_inlineedit( '{$urlparams}' );");
  15.         TScript::create(" tdatagrid_inlineedit2( '{$urlparams}' );");
  16.         TScript::create(" tdatagrid_enable_groups();");
  17.     }
  18. ?>


E pronto agora é diversão.
IV

Fiz a alteração sugerida pelo Daniel e aumentei o valor, porém continuou do mesmo tamanho
FC

E preciso atualizar de 20 para 100 por exemplo é também atualizar com o crtl + f5
IV

Sim, eu tinha feito isso... Só tirei o
  1. <?php ?>
que funcionou, obrigado galera!