FS
Nome e não ID no Datagrid
Pessoal alguém já passou por isso: Estou precisando mostrar no datagrid o nome e não o ID, por exemplo, onde esta id_produto quero que ele mostre pra mim o nome dele que esta no campo descricao, já tentei desta forma: id_produto->descricao e não funcionou.
$column_id = new TDataGridColumn('id', 'ID', 'right');
$column_id_produto = new TDataGridColumn('id_produto', 'Produto', 'right');
$column_qtde = new TDataGridColumn('qtde', 'Qtde', 'right');
$column_valor_unitario = new TDataGridColumn('valor_unitario', 'Valor Unitário', 'left');
$column_id = new TDataGridColumn('id', 'ID', 'right');
$column_id_produto = new TDataGridColumn('id_produto', 'Produto', 'right');
$column_qtde = new TDataGridColumn('qtde', 'Qtde', 'right');
$column_valor_unitario = new TDataGridColumn('valor_unitario', 'Valor Unitário', 'left');
Hola, bom dia
Depois de adicionar a coluna na datagrid dale um setTransform:
$col_vd_cd_despe->setTransformer(function($value) {
return Tdespesas::findInTransaction(self::$db, $value)->td_descri;
});
com isso ele vai mostrar a descrição ou nome em vez do codigo
Não sei se é devido ao seu código mais algumas informações não entendi de onde esta vindo, por exemplo o Tdespesas;
Perdão, ali coloque um codigo de uma aplicação que tenho aqui, apenas como exemplo
$col_vd_cd_despe->setTransformer(function($value) {
return Tdespesas::findInTransaction(self::$db, $value)->td_descri;
});
$col_vd_cd_despe >>> coluna da grid
Tdespesas >>> tabela do model
td_descri >>> campo da tabela que tem que mostrar no lugar do codigo
deu certo aqui agora, agora me deparei com a mesma situação porém no mestre detalhe e da maneira como foi mecionado não funciona para
esta nova situação, saberia como resolver para que ele apresente o nome e não o id?
Oi
Se for campo no Form ai uso o TDBCombo:
$co_cd_transp = new TDBCombo('co_cd_transp', 'crtmic', 'Transportador', 'tr_id', 'tr_nm_reduzi');
Não, me refiro a esta linha no grid
onde aparece o ID e eu que mostre a descrição.
O setTransforme funciona mas quando você vai fazer uma pesquisa ele consegue localizar pelo codigo e não pelo nome que esta em tela, pelo menos não consegui aqui, o que faço é para essas grids que tem tabela relacionadas crio uma view na base de dados ai faço a grid com os dados da view.
Sim, também faço dessa forma, porém este tipo de formulário que tem o metre detalhe não tem como, bom eu acho que não usar uma view.
Consegui resolver meu problema vendo um video do Pablo no youtube e com a ajuda do Nilton
segue o link caso alguem precidese: https://youtu.be/mN4G3P5LiT8
Meu código ficou assim: