Vieira Posted March 24, 2017 Share Posted March 24, 2017 Tenho o seguinte codigo funcionando perfeitamente no DBGrid: with uniMainModule.qryAuxCliente dobegin Close; SQL.Clear; SQL.Add('select *, datediff(curdate(), clientes.DATAULTIMACOMPRA) as dias2 from clientes where inatividade is not null and dataultimacompra between :d1 and :d2 order by nome'); Params.ParamByName('d1').AsDate := UniDateTimePicker11.DateTime; Params.ParamByName('d2').AsDate := UniDateTimePicker12.DateTime; Open(); UniDBGrid1.Columns[3].FieldName := 'dias2'; //arrumar aqui mas quando utilizo unidbgrid nao funciona, a coluna 3 nao recebe o valor do alias criado na query. Alguem pode ajudar? Link to comment Share on other sites More sharing options...
Marlon Nardi Posted March 25, 2017 Share Posted March 25, 2017 Olá Rodrigo, se eu entendi corretamente. Caso seu DataSource esteja ligado com sua uniDBGrid o FieldName da sua coluna 3 já vai ter o FieldName = "dias2". Porém caso você queira alterar o Caption de sua coluna da Grid basta fazer UniDBGrid1.Columns[3].Title.Caption := 'dias2updated'; Link to comment Share on other sites More sharing options...
Vieira Posted March 25, 2017 Author Share Posted March 25, 2017 Bom dia Marlon, Vou tentar explicar como eu uso: No grid eu criei uma coluna em branco. Depois faço uma consulta comparando a data de hoje com a data da ultima compra do cliente. O resultado de dias deveria ser exibido nessa coluna, entao eu atribuí o alias dias2. O datasource esta ligado ao grid mas esse campo dias2 nao existe na tabela, ele é criado como resultado da consulta atediff(curdate(), clientes.DATAULTIMACOMPRA) as dias2 Na linha que eu atribuo o valor do fieldname, nao esta retornando o valor desta consulta, vem em branco. Se eu utilizo dbgrid funciona normalmente, no unidbgrid não. A forma que estou encontrando é criar um campo agregado na tabela pra trazer esse resultado, mas gostaria de entender/aprender o porque nao funciona no unigui. Obrigado Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now