Devex: Bounded and Unbounded Image Data Aware

Dear All,

Met ketemu lagi dalam acara Delphi Coderz … :mrgreen:

Kemarin, ada dari temen bro @ImanD mengenai bagaimana memunculkan gambar bukan dari database saja, akan tetapi dari file juga, soalnya kita pengguna Developer Express Quantum Grid.

Setelah membaca dan mengurai dari keterangan Knowledge Basenya Developer Express. Akhirnya bisa ditampilkan apa yang diinginkan … sebelumnya mah udah jalan tapi gak bisa munclu gambarnya :mrgreen:

Nah, sekarang daripada ngomong gak karuan langsung saja, kita buat project baru dan simpan deh komponen yang diperlukan seperti zConnection, zTable (karena pake ZeosLib), DataSource dan cxGridnya.

Untuk di gridnya ditambahkan 1 column unbound, jadi dikenal dengan column cxGrid1DBTableView1Column1, dengan set properties :

cxGrid1DBTableView1Column1.Properties := Images
.Properties.Images.GraphicClassName := TJPEGImage
.Properties.Images.ImmediatePost := true

sekarang untuk Databindingnya di set ke:

cxGrid1DBTableView1Column1.DataBinding.ValueType := string

untuk DataBinding.FieldName nya di kosyonk an saja, karena ini tidak dipakai, jadi column ini disebut unbound data-aware.

Sekarang … Codingz , tadi nya saya pikir bisa disimpan pada event onCustomDrawCell, karena untuk masalah beda warna tiap baris bisa digunakan event ini, tapi ternyata terjadi infinite-loop pada event Paint nya DevexGrid.

Jadi, saya tempatkan pada event : onGetProperties dari cxGrid1DBTableView1Column1 dengan isi :

procedure TForm8.cxGrid1DBTableView1Column1GetProperties(
  Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
  var AProperties: TcxCustomEditProperties);
var
  AFileName, AValue: String;
  APicture: TPicture;
begin
  AFileName := 'C:\Manz\Projects\Web\hrms\public_html\images\photo\' +
               VarToStr(ARecord.Values[cxGrid1DBTableView1nip.Index]) + '.jpg';
  if (fileexists(AFileName)) then
  begin
    APicture := TPicture.Create;
    try
      APicture.LoadFromFile(AFileName);
      SavePicture(APicture, AValue);
    finally
      freeAndNil(APicture);
    end;
  end
  else AValue := '';

  cxGrid1DBTableView1.DataController.Values[ARecord.RecordIndex, Sender.Index] := AValue;
end;


Dengan hasil snap-shot diatas .. maka hasil yang di-inginkan keluar seperti ini :mrgreen:

ImageLoad

ada 2 field tertera diatas, yaitu from DB dan from File, nah yang from File inilah yang disebut dengan unbounded data-aware.

Dikau temanz .. bisa mencoba nya … any error, any mistake (salah), access denied or error yang laindon’t ask … alias jangan tanya … silahkan trace sendiri sajah yah … :mrgreen:

Seperti biasa, kalau code ini berguna untuk kalian teman-temanz, teman-temanz bisa donate kepadaku ya ya ya :mrgreen: for keep this blog live and given the some tricky … :mrgreen:

Salam Coderz,
😎
Man’z

procedure TForm8.cxGrid1DBTableView1Column1GetProperties(
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
var AProperties: TcxCustomEditProperties);
var
AFileName, AValue: String;
APicture: TPicture;
begin
AFileName := ‘C:\Manz\Projects\Web\hrms\public_html\images\photo\’ +
VarToStr(ARecord.Values[cxGrid1DBTableView1nip.Index]) + ‘.jpg’;
if (fileexists(AFileName)) then
begin
APicture := TPicture.Create;
try
APicture.LoadFromFile(AFileName);
SavePicture(APicture, AValue);
finally
freeAndNil(APicture);
end;
end
else AValue := ”;

cxGrid1DBTableView1.DataController.Values[ARecord.RecordIndex, Sender.Index] := AValue;
end;

Advertisements

10 thoughts on “Devex: Bounded and Unbounded Image Data Aware”

  1. wedaaaan @Man’z urang ga kepikiran ampe situ uy, hebat…. hebat lah hebaaattt…. cuman saya blom bisa kasih donat dulu ye tar dech du’ain az

  2. HAji DEde.. (HADE) …lah kang Manz, 2 jempol ke atas …
    hmm..ImanD blm bisa kasih donat,.. klo daku bisa .. asal dateng ke Bandung .atau dikirim ..???
    inisial (T.A) donat nya.

  3. ok.. ok..
    tp masih ada kelemahan klo data itu di trace.. yg jelas computer sy pasti akan keluar “access denied”..
    coba kenapa?, karena computer sy khusus terima orang gantheng tea

  4. @ichan29
    wakakakkakaka mun foto nguing didieu di approve moal?

    @Teddy Sopyan
    eta T.A geus aya deui wae euy, fikiran uing mah tadi teh nu kotor2 sugan teh akhiran .I 3 huruf pas di fikir deui geuningan ieu teh juraganna uy.

  5. Intinya ngeluarin foto dGrid yah…, teu acan kapikiran, heu..”

    hebat banget kang Man’z…, nuhun elmuna, nanti ta coba

  6. @ImanD..apal meureun T.A alias produksi kebanggan, kan gara2 makan T.A kang Man’z jadi HAji DEde alias (Hade), sekali lagi 2 jempol ke atas lah buat sang DBA …

  7. @Manz
    kayaknya ada masalah dikit nech, saat OnScrolling cxGrid masih ada error mungkin pengaruh GettingPropertiesnya si Image dan mungkin Buggie nya si devex.
    kang manz sibuk banget ya ampe ga sempet trace lg.
    tar daku cuba2 bantu solving problems, mudah2an bisa.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s