dbGrid 2 valores

Delphi

15/05/2005

Olá Pessoal...
Estou desenvolvendo um sistema pra hotel.
Preciso fazer uma agenda, tipo um dbGrid assim:

quarto 1 : quarto 2 : quarto 3 : etc...
data
01/01/05
02/01/05
03/01/05
04/01/05
05/01/05
etc...

Aí, quando o quarto estiver ocupado, ou em reserva, eu trabalharei com cores...
A questão é: Existe um componente tipo o Dbgrid, que trabalhe com os valores de data, daquele jeito ???

Aguardo respostas...
Obrigado pela Paciencia !!


Buck

Buck

Curtidas 0

Respostas

Adielrr

Adielrr

15/05/2005

Pelo que entendi, tu quer colocar uma máscara na data, é simpres na tabela dar dois clique, na lista de campos escolhe o campo data e tem uma opção com o nome de editmask e la coloca a seguinte mascara = !99/99/00;1;_

se nao for isso explica teu erro direito


GOSTEI 0
Buck

Buck

15/05/2005

Não é um lance de mascara...
A questão, é que eu preciso, é como se fosse uma agenda de compromisso, ou melhor, uma planilha....

no lado direito vai ter as data,
................Quarto 1 : Quarto 2
21/01/05
22/01/05
23/01/05
etc

e em cima. como campos do dbGrid, vão os quartos.
Quando o quarto 1 estiver ocupado,dia 21 e 22, eu pintarei o Grid na posição correspondente.


GOSTEI 0
Buck

Buck

15/05/2005

Pessoal, me ajudem, por favor ....


GOSTEI 0
Edilcimar

Edilcimar

15/05/2005

eu aconselharia o uso de stringgrid, onde vc colocaria na coluna 0 o número do quarto, na coluna 1 a data de entrada e na coluna 2 a data prevista para a desocupação, e colocaria a cor que quizesse


GOSTEI 0
Silviogs

Silviogs

15/05/2005

Olá

tenho um sistema que muda a cor de uma célula quando a data é preenchida.

a rotina:

procedure TFmProcessos.DBGridTramitacaoDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
Check : TBitmap;
begin
inherited;
TDBSuperGrid(Sender).Canvas.Brush.Color := clGray;
if (Column.Index = 0) and (not (gdFixed in State)) then begin
with DM do
if QryTramitacaoDTTRAMITAcao.Value <> 0 then begin
try
Check := TBitMap.Create;
Check.LoadFromResourceName(HInstance, ´IMG_GRID_CHECK´);
TDBSuperGrid(Sender).Canvas.Draw((Rect.Right - Rect.Left - Check.Width) div 2 + Rect.Left , Rect.Top, Check);
finally
Check.Free;
end;
end
else begin
try
Check := TBitMap.Create;
Check.LoadFromResourceName(HInstance, ´IMG_GRID_UNCHECK´);
TDBSuperGrid(Sender).Canvas.Draw((Rect.Right - Rect.Left - Check.Width) div 2 + Rect.Left , Rect.Top, Check);
finally
Check.Free;
end;
end; // if - else...
end;

// esta é a parte da rotina para mudar a cor da célula

if (Column.Index = 2) and (not (gdFixed in State)) then begin
if DM.QryTramitacaoDTTRAMITAcao.Value <> 0 then begin
TDBSuperGrid(Sender).Canvas.Brush.Color:= clBackGround;
TDBSuperGrid(Sender).Canvas.Font.Color:= clWindowText;
TDBSuperGrid(Sender).Canvas.FillRect(Rect);
TDBSuperGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
end;

Atenciosamente

Silvio Guedes


GOSTEI 0
Buck

Buck

15/05/2005

Olha pessoal, não é bem isso não...
As cores do DbGrid sim, valeu...
Mas eu preciso exibir TODOS OS QUARTOS, e um ´CALENDÁRIO´ ao lado

....................Quarto 1 : Quarto 2 : Quarto 3 :etc
mais
21/01/05
22/05/05
23/05/05
24/05/05
25/05/05
26/05/05
27/05/05
28/05/05
mais

Valeu pelas dicas pessoal !!!
Mas a duvida é esta..


GOSTEI 0
Marco Salles

Marco Salles

15/05/2005

:arrow: Pera ai

Como esta a construção da sua tabela :?: :?: :?:


GOSTEI 0
Buck

Buck

15/05/2005

tem o num de cada quarto quartos....


GOSTEI 0
Turbo Drive

Turbo Drive

15/05/2005

Na sua tabela, os campos dela são os números dos quartos? Se sim, qtos campos vc tem ?


GOSTEI 0
Marco Salles

Marco Salles

15/05/2005

tem o num de cada quarto quartos....


Não entendi??? :cry: :cry: :cry:


GOSTEI 0
Buck

Buck

15/05/2005

Na verdade, a tabela que contem as datas para saber se o quarto vai estar ocupado, é outra. É o ´voucher´, que é um tipo de ficha de reserva. Lá tem os campos periodo, de e até. Para fazer aquele lance de planilha, eu criei um outro banco de dados, com os numeros dos quarto como campos. 1, 2, 3... Mas a tentativa não desenrolou pq eu não sou como colocar a data, como um calendário, no lado esquerdo da planilha.

[img]C:\Documents and Settings\Administrador\Desktop\buck\imagem.jpeg[/img]


GOSTEI 0
Buck

Buck

15/05/2005

pessoal, tentem me ajudar por favor....


GOSTEI 0
POSTAR