Grid'de check yada combo

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Ebru
Üye
Mesajlar: 1
Kayıt: 28 Tem 2005 11:13

Grid'de check yada combo

Mesaj gönderen Ebru »

Selamlar ;
StringGrid'in daha gelişmiş ozelliklerine sahip TMSGrid kullaniyorum.
Gridde bir sutunun check 'li yada combobox'li olmasini istiyorum.

Bunu nasil yapabilirm , yardim icin simdiden tesekkurler.
Selamun Aleyküm
ertline
Üye
Mesajlar: 137
Kayıt: 23 Nis 2005 09:15
Konum: Bartın
İletişim:

Mesaj gönderen ertline »

Aşağıdaki kod DBGrid İçine Datetimepicker yerleştiriyor
Bu kodu incelerseniz combo yada başka bir nesneyi
grid içine koyabilirsiniz.Ben Combobox u koymuştum
oluyor yani.


procedure TForm1.DBGrid1DrawColumnCell
(Sender: TObject;
const Rect: TRect;
DataCol: Integer;
Column: TColumn;
State: TGridDrawState);
begin
if (gdFocused in State) then
begin
if (Column.Field.FieldName = 'TarihField') then
with DateTimePicker do
begin
Left := Rect.Left + DBGrid1.Left + 1;
Top := Rect.Top + DBGrid1.Top + 1;
Width := Rect.Right - Rect.Left + 2;
Width := Rect.Right - Rect.Left + 2;
Height := Rect.Bottom - Rect.Top + 2;

Visible := True;
end;
end
end;
-----------------
procedure TForm1.DBGrid1ColExit(Sender: TObject);
begin
if DBGrid1.SelectedField.FieldName = 'TarihField' then
DateTimePicker.Visible := False
end;
--------------
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if (key = Chr(9)) then Exit;

if (DBGrid1.SelectedField.FieldName = 'TarihField') then
begin
DateTimePicker.SetFocus;
SendMessage(DateTimePicker.Handle, WM_Char, word(Key), 0);
end
end;
-------------------
procedure TForm1.DateTimePickerChange(Sender: TObject);
begin
if DBGrid1.DataSource.State in [dsEdit, dsInsert] then
ADOTable1TarihField.Value := DateTimePicker.DateTime;
end;

procedure TForm1.DateTimePickerDropDown(Sender: TObject);
begin
DBGrid1.DataSource.Edit;
end;
Cevapla