Jump to content

Griddeki Tüm alanlarda arama Yapmak


alucard

Recommended Posts

Merhaba,

 

 

Ben ilgili arama faaliyetini Firebird üzerinde aşağıdaki şekilde yaptım.

 

//OnCreat event'a
 
procedure TFrameDOFListesi.UniFrameCreate(Sender: TObject);
 
var i :integer;
begin
  for I := 0 to dtDOF.Params.Count -1  do  dtDOF.Params.Value := '%%';
 dtDOF.Open;
end;
 
//Grid'in ColumnSort event'a
 
procedure TFrameDOFListesi.UniDBGrid1ColumnSort(Column: TUniDBGridColumn;
  Direction: Boolean);
begin
  SortColumn(Column.FieldName, Direction);
end;
// SortColumn prosedürü
procedure TFrameDOFListesi.SortColumn(const FieldName: string; Dir: Boolean);
begin
  if Dir then
    dtDOF.IndexFieldNames := FieldName+':A'
  else
    dtDOF.IndexFieldNames := FieldName+':D';
end;
 
//Grid'in ColumnFilter eventa
 
procedure TFrameDOFListesi.UniDBGrid1ColumnFilter(Sender: TUniDBGrid;
  const Column: TUniDBGridColumn; const Value: Variant);
 var
  V : Variant;
  I : Integer;
begin
  if dtDOF.Active then
  begin
    for I := 0 to Sender.Columns.Count - 1  do
      if Sender.Columns.Filtering.Enabled then
      begin
        V := Sender.Columns.Filtering.VarValue;
        dtDOF.ParamByName(Sender.Columns.FieldName).Value := '%'+V+'%';
      end;
    dtDOF.Refresh;
  end;
end;
// ve ClearFilters event'a
procedure TFrameDOFListesi.UniDBGrid1ClearFilters(Sender: TObject);
var
  I : Integer;
begin
 if dtDOF.Active then
 begin
  for I := 0 to dtDOF.Params.Count -1  do
    dtDOF.Params.Value := '%%';
   dtDOF.OpenOrExecute();
 end
end;
 
 
// FireDAC componenetine
//örnek SQL 
//Burada özellikle arama yapacağınız tüm alanların aşağıdaki şekilde olduğu üzere where içinde olmalıdır.
SELECT * FROM WEB_DOFLISTESI
where 
  id like :id and
  upper(raporno) like upper(:raporno) and
  upper(Tarih  ) like upper(:tarih)  and
  upper(LokasyonKodu) like upper(:LokasyonKodu)
 
//ve EN ÖNEMLİSİ !!!!!
FireDac DataSet sağ click ile Query Editor'e girip
Parameters sekmesinde,arama yapılacak tüm alanların
Value : değerine
Value : %%
olacak şekilde işaretlemeniz gerekmektedir.
 
Kolaylıklar dilerim.
 
Saygılarımla,
  • Upvote 1
Link to comment
Share on other sites

hocam dediğiniz örnek ile de yapamadım. hatta sizin vt yerine kendi vtmi yazdım gene olmadı. 

 

eğer zamanınız var ise size kendi vt min bir  backup ve birde kendisini ini gönderiyorum. tbl_personel tablosu için küçük bir örnek hazırlaya bilirseniz sevinirim. 

 

Delphi XE7

 

firebird 2.1

 

Unigui son sürüm 

 

 

personel.rar

personeldb.rar

Link to comment
Share on other sites

Kod örnekleri veritabanına göre değişir. Yazdığınız SQL kodlarını kontrol edin.

 

Burada uniGUI sizin içen bir arabirim görevi görür, uygulamanıza göre yazacağınız kodlar tamamen sizin veritabanı tipinize bağlıdır.

 

peki Firebird için bir örnek oluşturabilirmisiniz.

Link to comment
Share on other sites

First chance exception at $76B2C52F. Exception class EIBNativeException with message '[FireDAC][Phys][FB]CHARACTER SET WIN1254 is not installed'. Process SKHBPersonel.exe (2036)

FireDAC componentini kullanınca böyle bir hata alıyorum.

Link to comment
Share on other sites

hocam sizin ban gönderdiğinizde çıkmıyor. ama aynı elemanları kendi programıma taşıdığımda böyle bir sorun veriyor.

 

ben daha Önce Firedac kullanmadım. ibx componentleri ile yapıyorum. onda yapamadım. acaba onda yani ibx bileşenlerinde olma ihtimali yokmu.

Link to comment
Share on other sites

Merhabalar,

 

IBX bileşenleri, ücretli bir bileşen olup, ben de yoktur. Ben de IBX bileşenlerini kullanmadım.

Çıkan hata, Firebird PersonelDB.FDB data dosyasındaki, table tanımlanmış olanlar, Character Set 1254 (türkçe) olarak set edildiği içindir. Bu anlamda, IBX bileşeninin Data Connection nesnesinde, character set, 1254 olarak set edileceği bir yerin olması muhtemeldir.

 

Selamlar,

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...