Bom dia a todos
Sera que alguem poderia me ajudar??
Estou precisando colocar um link na linha da Grid para chamar (habilitando) uma nova aba com os dados do curso selecionado por exemplo.
E também conseguir editar alguns campos mostrados na grid.
Agradeço a todos vocês,
Autor: Arildo Rabis Diniz
99 comentários
{
if($objColumn->getFieldName() == 'XXX_LINK')
{
$cell->setValue('<a>Link Aqui</a>');
}
} Para ilistrar mais a utilização da classe TGrid, de uma olhada na aplicação "Aplicação para Gerenciar Usuários, Perfis, Módulos e Menu", que está nos exemplos para download. Para editar campos no gride voce terá que utilizar o método $gride->addTextColumn. para criar criar os inputs. Exemplo: $gride->addTextColumn('nm_tabela','Nome da Tabela','NM_TABELA',80,80); Abraço.
fwSelecionarAba('abaCursos');
fwDoAction('lerAlunosCurso'); } Na ação lerAlunosCurso voce alimenta o gride com os alunos do curso selecionado. Quanto a edição do campo no gride, voce pode adicionar quantos campos quiser, sendo que o editavel será apenas o que tiver addTextField os outros serão com addColumn normal mesmo. espero ter ajudado. Abraço.
Neste caso abaixo, ele me mostra apenas a ultima coluna as outras não aparecem, fiz varias tentativas e não consegui. Se não for abusar da sua paciência.
E também o link não consegui fazer ele funcionar, nem mesmo aparecer como um link na grid. Abraços e obrigado pela ajuda e paciência comigo. $g = new TGrid(
'gd' // id do gride no html
,'Listagem dos Cursos' // titulo do gride
,cursosDao::selectAll('descricao') // array de dados
,null
,null
,'CODIGO'); // chave da tabela);
$g->addTextColumn('cursos','Curso','DESCRICAO',20,20,'','','','no');
$g->addTextColumn('cursos','Coordenador','COORDENADOR',10,10,'','','','no'); // adicionando o objeto ao campo html criado acima
$frm->set('html_gride',$g); // ou $frm->getField('gride')->add($g);
,'Listagem dos Cursos' // titulo do gride
,cursosDao::selectAll('descricao') // array de dados
,null ,null ,'CODIGO'); // chave da tabela);
$g->addTextColumn('descricao' ,'Curso' ,'DESCRICAO',20,20,'','','',false);
$g->addTextColumn('coordenador' ,'Coordenador' ,'COORDENADOR',40,40,'','','',false); // adicionando o objeto ao campo html criado acima
$frm->set('html_gride',$g); Abraço.
$frm = new TForm('Cadastro de Alunos',450);
// adicionar o campo hidden para a coluna chave da tabela.
$frm->addHiddenField('codigo');
$frm->addHiddenField('codigo_aluno');
// adicionando abas ao formulário
$pc = $frm->addPageControl('pc'); // criar instância do controlador de páginas
// adicionar a pagina "Cadastro"
$pc->addPage('Cadastro',true,true,'abaCadastro'); // a partir daqui, tudo que for
//adicionado ao form ficará dentro da aba até encontrar o metodo closeGroup();
// adicionar os campos na aba cadastro
//$frm->addMaskField('placa','Nº da Placa:',true,'aaa-9999');
$frm->addTextField('nome','Nome:',100,true,80); $frm->addTextField('endereco','Endereço:',100,null,80);
$frm->addTextField('bairro','Bairro:',50);
$frm->addNumberField('cep','CEP:',10);
$frm->addTextField('cidade','Cidade:',50);
$frm->addSelectField('cod_uf','Estado:',2);
//$frm->addTextField('sig_uf','Estado:',2);
$frm->addDateField('nascimento','Data Nascimento:',false);
$frm->addMemoField('observacao','Observações:',2000,false,60,4);
$frm->addButton('Salvar','salvar','btnSalvar',null,null,true,false);
$frm->addButton('Limpar','limpar','btnLimpar',null,null,false,false);
// para exemplificar o uso do campo html e da inclusão de um arquivo css externo
$frm->addHtmlField('mensagem','<br><center><b><span class="FonteVermelha">Campos em vermelho são de preenchimento obrigatório</span></b></center>');
// adicionar a aba Listagem
$pc->addPage('Listagem',false,true,'abaListagem');
$frm->addHtmlField('html_gride_listagem',''); //$alunos = alunosDao::selectAll('nome'); // array de dados
// inicio simulação consulta ao banco de dados
$alunos['CODIGO_ALUNO'][0] = 1;
$alunos['NOME'][0] = 'Aluno 1';
$alunos['CODIGO_ALUNO'][1] = 2;
$alunos['NOME'][1] = 'Aluno 2'; $pc->addPage('Cursos Matriculados',false,true,'abaMatriculas'); // a partir daqui, tudo que for
$frm->addHtmlField('html_gride_cursos',''); // criarção do gride
$g = new TGrid(
'gd' // id do gride no html
,'Listagem dos Alunos' // titulo do gride
,$alunos
,null
,null
,'CODIGO_ALUNO'); // chave da tabela);
$g->addColumn('nome','Nome',1200);
$g->addColumn('cursos','Ver Cursos',200,'center');
$g->setOnDrawCell('criarLink');
$frm->set('html_gride_listagem',$g); // ou $frm->getField('gride')->add($g); //--------------------------------------------------------------
if( $acao == 'lerCursosAluno')
{
$cursos = null;
//$cursos = TPDOConnection::executeSql("select a.codigo, b.descricao as Curso, c.descricao,c.turno from matriculas a, turmas c, cursos b where a.cod_curso = b.codigo and a.cod_turma = c.codigo and a.cod_aluno = ?",$frm->get('codigo_aluno') ); // inicio simulação dados dos cursos
// registros para demonstração
if( $frm->get('codigo_aluno') == 1 )
{
$cursos['CODIGO'][0] = 1;
$cursos['CODIGO_ALUNO'][0] = 1;
$cursos['CURSO'][0] = 'CURSO 1 DO ALUNO 1';
$cursos['DESCRICAO'][0] = 'TURMA 1';
$cursos['TURNO'][0] = 'TURNO 1'; $cursos['CODIGO'][1] = 2;
$cursos['CODIGO_ALUNO'][1] = 1;
$cursos['CURSO'][1] = 'CURSO 2 DO ALUNO 1';
$cursos['DESCRICAO'][1] = 'TURMA 2';
$cursos['TURNO'][1] = 'TURNO 2';
}
else if( $frm->get('codigo_aluno')==2)
{
$cursos['CODIGO'][2] = 3;
$cursos['CODIGO_ALUNO'][2] = 2;
$cursos['CURSO'][2] = 'CURSO 1 DO ALUNO 2';
$cursos['DESCRICAO'][2] = 'TURMA 2';
$cursos['TURNO'][2] = 'TURNO 2';
}
// fim da simulação $g1 = new TGrid(
'gd' // id do gride no html
,'Cursos Matriculados' // titulo do gride
,$cursos
//,''
,null
,null
,'codigo'); // chave da tabela);
$g1->setCreateDefaultDeleteButton(false);
$g1->setCreateDefaultEditButton(false);
// adicionando o objeto ao campo html criado acima
$frm->set('html_gride_cursos',$g1); // ou $frm->getField('gride')->add($g);
}
// exibir o formulário $frm->processAction(); $frm->show(); function criarlink($rowNum,$cell,$objColumn,$aData,$edit)
{
//echo "Nome da coluna : ".$objColumn->getFieldName()."<br>";
if( $objColumn->getFieldName()=='cursos')
{
$link = new TElement('a');
$link->setProperty('href','#');
$link->addevent('onclick','visualizarCursos('.$aData['CODIGO_ALUNO'].')');
$link->add('Clique Aqui');
$cell->add($link);
//$cell->setValue(fwSelecionarAba('abaCadastro'));
}
} function tratarCelula($rowNum,$cell,$objColumn,$aData,$edit)
{ //echo "Nome da coluna : ".$objColumn->getFieldName()."<br>";
if( $objColumn->getFieldName()=='NOME')
{
$cell->setValue(fwSelecionarAba('abaCadastro'));
}
} ?>
<script>
function visualizarCursos(codigo_aluno)
{
jQuery("#codigo_aluno").val(codigo_aluno);
fwSelecionarAba('abaMatriculas');
fwDoAction('lerCursosAluno');
}
</script> abraço.