Fórum Verificar item selecionado #396130
22/02/2011
0
eu preciso selecionar um determinado campo no meu grid, e todos os campos do mesmo nome precisam ser selecionados junto . No caso são ruas, selecionando a rua 1 todas as outras ruas 1 serão selecionadas junto automaticamente e trocar de cor para depois quanto selecionada outra rua estas fiquem marcadas de vermelho digamos, indicando que já foi selecionada.
Vlw
Is Informação
Curtir tópico
+ 0Posts
22/02/2011
Wilson Junior
Exemplo:
0 - Não faz nada;
1 - Rua selecionada atualmente;
2 - Rua que foi selecionada
Sendo assim, no evento OnDraw do seu grid use para pintar as células com o valor desta coluna oculta.
Espero ter colaborado.
Gostei + 0
22/02/2011
Is Informação
pois não entendi a parte que as outra linhas com o mesmo valor seram selecionados.
Já me deu uma luz,
Abraço
Gostei + 0
22/02/2011
Wilson Junior
Gostei + 0
22/02/2011
Is Informação
vou usar um (bitbtn), para poder marcar quais foram selecionados e colorir, soh preciso descobrir como
Gostei + 0
22/02/2011
Wilson Junior
Exemplo: SELECT *, CAST(0 AS SMALLINT) AS Status FROM NOME_TABELA
- No envento OnDrawColumnCell do seu TDBGrid, faça:
if (TDBGrid(Sender).DataSource.DataSet <> nil )
and ( not (gdSelected in State) )
and ( TDBGrid(Sender).DataSource.DataSet.FieldByName('Status').AsInteger <> 0 ) then
begin
if ( UpperCase(Column.FieldName) = UpperCase('Status') ) then
begin
TDBGrid(Sender).Canvas.FillRect( Rect );
if TDBGrid(Sender).DataSource.DataSet.FieldByName('Status').AsInteger = 1 then
TDBGrid(Sender).Canvas.Brush.Color := clGreen
else //Status = 2
TDBGrid(Sender).Canvas.Brush.Color := clRed
;
TDBGrid(Sender).Canvas.Font.Color := clWhite;
TDBGrid(Sender).DefaultDrawDataCell(
Rect, TDBGrid(Sender).Columns[DataCol].Field, State );
end
;
end
;
- No clique do seu botão, percorra o o seu ClientdataSet alterando o campo Status de cada registro.
Espero ter colaborado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)