[ popmilan76 @ 31.01.2012. 19:12 ] @
kako da stavim filtriranje za dve kolone u jednom datagridu...ovo su filtri pojedniacni,treba ta dva da objedinim pa da mi budu kao jedan,znam da se koristi and,ali ne znam kako
1.Table1.Filter:='naziv='+ ' '''+ Edit1.text+'*'+''' ';
2.Table1.Filter:='MESTO='+ ' '''+ Edit2.text+'*'+''' ';
[ savkic @ 31.01.2012. 21:55 ] @
> kako da stavim filtriranje za dve kolone u jednom datagridu...ovo su filtri pojedniacni,treba ta dva da objedinim pa da mi budu kao jedan,znam da se koristi and,ali ne znam kako
> 1.Table1.Filter:='naziv='+ ' '''+ Edit1.text+'*'+''' ';
> 2.Table1.Filter:='MESTO='+ ' '''+ Edit2.text+'*'+''' ';


Otprilike ovako: ('naziv='+ ' '''+ Edit1.text+'*'+''') AND ('MESTO='+ ' '''+ Edit2.text+'*'+''');
[ popmilan76 @ 01.02.2012. 08:28 ] @
Nece,izbacuje gresku,znam da je problem negde sa zagradama,ali ne znam gde....ili posle zagrada dodati +),ali opet nece
[ reiser @ 01.02.2012. 13:56 ] @
Trebas da stavis ' umesto " navodnika. Za to mozes koristiti QuotedStr() fju. Takodje, preporucio bih ti da koristis Format() gde god imas konkatenacije stringova, radi lakseg snalazenja i preglednosti. Dakle:

Code:

Table1.Filter := Format('naziv = %s AND mesto = %s', [QuotedStr(Edit1.Text), QuotedStr(Edit2.Text)])
[ popmilan76 @ 01.02.2012. 19:56 ] @
Da ali u tom slucaju,pojavljuje mi samo podatak koji sam ukucao u edit1(u celosti),kao i u edit2,isto u celosti.Dakle ako ukucam u edit1 Anlave,i u edit2 beograd,onda mi izadje podatak,ali hocu da kada ukucam ,recimo "a" ,da mi izadju sve na a,recimo u beogradu ako mi je u edit2 beograd,ili beog...ili nesto slicno.Sada vise nisam siguran da uopste moze ovo sto sam ja zamislio....
[ salaczr @ 02.02.2012. 07:08 ] @
Napisi SQL kako su ti preporucili Savkic i Reiser ali umesto znaka jednakosti (=) koristi komadnu LIKE

npr: 'NAZIV like '+ QuotedStr('%' + Edit1.text + '%') + ' AND MESTO like ' + QuotedStr('%' + Edit2.text + '%') ;


poz
[ reiser @ 02.02.2012. 11:06 ] @
Ne radi jer sam zaboravio da dodam * wildcard posle stringa. Mada, verovatno ce ti raditi ovako kako ti je salaczr preporucio, a ako ne radi:

Code:

Table1.Filter := Format('naziv = %s* AND mesto = %s*', [QuotedStr(Edit1.Text), QuotedStr(Edit2.Text)])
[ popmilan76 @ 02.02.2012. 14:12 ] @
Konacno,provalio sam....treba da stoji :

Table1.Filter:='naziv='+ ' '''+ Edit1.text+'*'+''' and MESTO='+ ' '''+ Edit2.text+'*'+''' ';

Hvala svima na savtima.