سلام
چه طور می شه جستجو را در dbgride بر اساس حرف اول کلمه ای که در edit نوشته می شود انجام داد؟
یعنی به محض زدن حرف اول کلمه جستجو انجام بگیرد؟
Printable View
سلام
چه طور می شه جستجو را در dbgride بر اساس حرف اول کلمه ای که در edit نوشته می شود انجام داد؟
یعنی به محض زدن حرف اول کلمه جستجو انجام بگیرد؟
به حضرت عباس ! اگر اون مقاله روشهای جستجو در دلفی که مهندس وکیلی آماده کرده بودند و در سایت گذاشته اند را دانلود کرده بودید ... دقیقا همین که میخواهید را توش نوشته بود. :اشتباه:
آقای عقیلی راست میگن ولی دوستمون هم تقصیری ندارن ایشون تازه عضو انجمن شده اند
خوش امدید.
دوست عزیز اینججا بحثهای زیادی مطرح میشه و کلیه بحثهای مطرح شده قبلی رو می تونید در قسمت جستجو پیدا کنید. اینطوری سریعتر به نتیجه میرسید اگر جواب نگرفتید بعد تاپیک جدید اضافه کنید.
در هر حال فکر می کنم تابع Locate یا خاصیت Filter از dataset مشکلتون رو حل کنه
در OnChange
ClientDataset1.fieldbyName('fieldname').asstring:= Edit1.text
سلام : این دوستمون گناهی ندارن . سایت جوان سافته آقای وکیلی جوابگو نیست البته مدیران گروپشون هست . من هم یه همچین مشگلی دارم البته من وقتی از جداول bdeاستفاده می کنم مشگلی ندارم اما وقتی از adoاستفاده می کنم این مشگلو دارم ! از همون فیلتر استفاده می کنم ... وقتی مثلاً می زنم م ... dbgrid خالی می شه و هیچی نشون نمی ده !!! plzzzکمکم کنین ...
میشه عین کدی که خاصیت filter رو مقداردهی می کنه رو بنویسید؟
بله حتماً
adotable1.filter:='name='+quotedstr(edit1.text+'*' )
تو Ado باید بنویسی:
AdoQuery1.Filter:='CName Like '+QuotedStr(EDit1.Text+'%');
من با استفاده از همون adotableو با کمک شما تونستم مشگلمو حل کنم ... حالا مسئله دیگه اینه که می خوام اگر اسم بطور کامل تایپ شد فقط همون اسم تایپ شده رو بیاره ... از کمکتون ممنونم mzjahromi
می تونی بنویسی
AdoTable1.filter:='Name='+ quotedStr(Edit1.Text);
if AdoTable1.RecordCount<1 Then
AdoTable1.filter:='Name Like '+ quotedStr(Edit1.Text+'%');
یه چیزی شبیه به این
آقای mzjahromi امتحان کردم و جواب داد ... مشگلم حل شد ... ازتون خیلی خیلی ممنونم ... موفق باشید ... راستی شما crystal report کار کردید ؟
خواهش می کنم.
نه من CrystalReport کار نکردم
راستی mzjahromi اسم من نیست ID منه
از این کد هم میتونی استفاده کنی :
adoQuery1.Active:=FALSE;
adoQuery1.SQL.Clear;
adoQuery1.SQL.Add('SELECT * ');
adoQuery1.SQL.Add('FROM Table1');
adoQuery1.SQL.Add('WHERE (Family LIKE ''%'+ EDIT1.Text+'%'') ');
adoQuery1.ExecSQL;
adoQuery1.Active:=TRUE;
منظور از FilterGroup چیه ؟