Kamis, 01 Mei 2014

DELPHI - Mewarnai Hasil Pencarian pada DBGrid / Colouring Result Searching in DBGrid

Malam Pemirsa hehe lama nih gak posting lagi..
oke kali ini sy akan berbagi tentang mewarnai hasil pencarian pada DBGrid.. langsung aja yah...

Jadi asumsikan saya punya 2 tabel dan 1 buah DBGrid.
Pencarian berikut dapat berfungsi untuk di seluruh kolom yang tersedia.

procedure TfrmMain.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
case DataCol of
0..2 : Begin
        if pos(txtCari.Text,Column.Field.AsString)=1 then

          TDBGrid(Sender).Canvas.Brush.Color:=clYellow;
        TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
        End;
end;
end;

procedure TfrmMain.txtCariChange(Sender: TObject);
begin
case Table of
1 : Begin
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('SELECT * FROM '+
                   'MASTER_PEGAWAI '+
                   'WHERE '+
                   'KODE LIKE "%'+txtCari.Text+'%" OR '+
                   'NAMAPEGAWAI LIKE "%'+txtCari.Text+'%" OR '+
                   'TANGGALMASUK LIKE "%'+txtCari.Text+'%" OR '+
                   'STATUSPEGAWAI LIKE "%'+txtCari.Text+'%" OR '+
                   'INFORMASIPEKERJAAN LIKE "%'+txtCari.Text+'%" '+
                   'ORDER BY NAMAPEGAWAI ' +
                   'LIMIT '+Limit
                   );
    ADOQuery1.Open;
    End;
2 : Begin
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('SELECT * FROM '+
                   'MASTER_PELANGGAN '+
                   'WHERE '+
                   'KODE LIKE "%'+txtCari.Text+'%" OR '+
                   'NAMAPERUSAHAAN LIKE "%'+txtCari.Text+'%" OR '+
                   'FAX LIKE "%'+txtCari.Text+'%" OR '+
                   'KONTAK LIKE "%'+txtCari.Text+'%" OR '+
                   'JABATAN LIKE "%'+txtCari.Text+'%" '+
                   'ORDER BY NAMAPERUSAHAAN ' +
                   'LIMIT '+Limit
                   );
   ADOQuery1.Open;
    End;
End;

Bagian yang di warna HIJAU, itu tidak wajib dipakai. agan bisa hapus.
jauh lebih baik kalo agan mengerti LIMIT di MySQL hehe

Oke sekian dlu yah gan, ane lanjut lagi...
Terimakasih udah berkunjung di giavano.blogspot.com