2013-04-12 1 views
0

bonjour est-il possible pour ce code d'afficher à un tdbgrid les résultats de la recherche dans une liste comme style? (Par exemple, si je recherchais john, toutes les données conataining john sur un certain domaine seront affichés à TDBGrid)comment afficher à un dbgrid ma requête dans ce code?

procedure Tspcb.dccolbtnClick(Sender: TObject); 
begin 
    zdctable.First; 
    while not zdctable.EOF do 
    begin 
    if (zdctable.FieldByName('Collector').AsString = dcedit.Text) 
    then begin 
     cn.Caption := zdctable.FieldByName('Client_Name').AsString; 
     col.Caption := zdctable.FieldByName('Collector').AsString; 
     pay.Caption := zdctable.FieldByName('Daily_Payment').AsString; 
     date.Caption := zdctable.FieldByName('Date').AsString; 
     ddate.Caption := zdctable.FieldByName('Due_Date').AsString; 
     id.Caption := zdctable.FieldByName('ID').AsString; 
     la.Caption := zdctable.FieldByName('Loan').AsString; 
     tc.Caption := zdctable.FieldByName('Total_Collectibles').AsString; 
    end; 

    ShowMessage('click ok for next profile'); 
    zdctable.Next; 
    end; 
end; 
+1

Oui, il est possible. –

+0

oic comment puis-je y arriver avec mon code? aurai-je besoin de tout changer? –

+0

Eh bien, je vous suggère de modifier votre question pour demander "Comment" plutôt que "Est-il possible" –

Répondre

2

il suffit d'ajouter une source de données, ensemble de données de propriété définie sur votre zdctable ensemble de données, ajoutez un DBGRID à votre formulaire et définissez la source de données de propriété sur la source de données.

Le seul morceau de code que vous aurez besoin est dans le OnchangeEvent de dcedit

procedure TForm3.dceditChange(Sender: TObject); 
begin 
    zdctable.FilterOptions:=[foCaseInsensitive]; // if wished 
    zdctable.Filtered := Length(dcEdit.Text) > 0; 
    if zdctable.Filtered then 
     // zdctable.Filter := 'Collector like ' + QuotedStr('%' + dcEdit.Text + '%') 
     zdctable.Filter := 'Collector like ' + QuotedStr('*' + dcEdit.Text + '*') // Zeos- Syntax 
    else zdctable.Filter := ''; 
end; 
+0

merci beaucoup de m'avoir aidé. posterai plus tard si je l'ai déjà. bonne journée. –

+0

a essayé le code aujourd'hui mais le dbgrid n'affichait rien quand je l'ai tapé sur le dedit, ai essayé également en le mettant sur un bouton: procédure TForm1.Button1Click (Sender: TObject); begin ztable1.FilterOptions: = [foCaseInsensible]; // si vous le souhaitez ztable1.Filtered: = Length (Edit1.Text)> 0; si ztable1.Filtered puis ztable1.Filter: = 'Type de collecteur' + QuotedStr ('% + Edit1.Text +%') else ztable1.Filter: = ''; fin; mais toujours le dbgrid n'a rien affiché –

+0

@ChunkChunk Zeos vu pour utiliser * comme joker au lieu de%, j'ai fait un edit – bummi

Questions connexes