delphi4arab منتديات دلفي للعرب
مشكلة الكومبوبوكس مع الفلترة - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : مشكلة الكومبوبوكس مع الفلترة (/showthread.php?tid=8386)



مشكلة الكومبوبوكس مع الفلترة - elzawey2020 - 03-02-2017

السلام عليكم ورحمه الله وبركاته
جمعه مباركه عليكم جميعاً

شباب عندي جدول به مثلا عمودين id و name فقمت بربط المكونات وهي
داتا جريد و كمبوبوكس ( تم ربطه name )
المشكلة ياشباب عند الفلترة مثلا بـ id  فيظهر في داتا جريد نتيجة الفلترة فقط ولكن الكومبوبكس لا تظهر به نتيجة الفلترة بل يظهر فيه كل بيانات العمود
فما حلها ياشباب


RE: مشكلة الكومبوبوكس مع الفلترة - Med-01 - 03-02-2017

ارفق الــــــــــكود


RE: مشكلة الكومبوبوكس مع الفلترة - Mr.DOS - 05-02-2017

سلام عليكم
شاهد المثال ، اتمني ان تستفيد منه
Release
ملف المشروع مرفق


RE: مشكلة الكومبوبوكس مع الفلترة - sabre - 06-02-2017

كيف تتم عملية التصفية في TComboBox

وخصوصا اذا كنت تتعامع قاعدة البيانات
وأردت أن تتم عملية التصفية في كومبوبوكس
لأن كومبوبوكس ليس من المجموعة دي بي
ويجب أن تتم عملية ربط برمجيا

بسم الله الرحمن الرحيم
السلام عليكم

ضع فوق الفورم 1
TQuery
و 1
TComboBox
و 1
TDBLookupComboBox
و 2
TButton
و 1
TEdit
و 1
TDataSource
و 1
TDBGrid


نشاء تابل
[left]
كود :
// نشاء تابل procedure TForm1.FormCreate(Sender: TObject); begin if not fileExists('Emdb1.db') then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Add('CREATE TABLE "Emdb1.db"(NOM CHAR(20),PRENOM CHAR(15),'+ 'CODE NUMERIC(5))'); Query1.ExecSQL; end; if fileExists('Emdb1.db') then begin Query1.Close; Query1.SQL.Clear; // مسار مجلد مشروعك Query1.DatabaseName := ''; Query1.SQL.Add('SELECT * FROM Emdb1'); Query1.Open; // TComboBox Query1.DisableControls; try Query1.First; while not Query1.Eof do begin ComboBox1.Items.Add(Query1.FieldValues['NOM']); Query1.Next; end; finally Query1.EnableControls; end; // TDBLookupComboBox DBLookupComboBox1.ListSource := DataSource1; DBLookupComboBox1.KeyField := 'NOM'; end; end;
[/left]

عملية تصفية
[left]
كود :
// عملية تصفية procedure TForm1.Button1Click(Sender: TObject); begin if Edit1.Text <> '' then begin Query1.First; Query1.Filter := 'NOM='+#39+Edit1.Text+#39; Query1.Filtered := true; ComboBox1.Items.Clear; Query1.DisableControls; try Query1.First; while not Query1.Eof do begin ComboBox1.Items.Add(Query1.FieldValues['NOM']); Query1.Next; end; finally Query1.EnableControls; end; end; end;
[/left]

الغاء تصفية
[left]
كود :
// الغاء تصفية procedure TForm1.Button2Click(Sender: TObject); begin ComboBox1.Items.Clear; Query1.Filtered := false; Query1.DisableControls; try Query1.First; while not Query1.Eof do begin ComboBox1.Items.Add(Query1.FieldValues['NOM']); Query1.Next; end; finally Query1.EnableControls; end; end;
[/left]

[left]
كود :
procedure TForm1.ComboBox1Change(Sender: TObject); begin edit1.Text := ComboBox1.Text; end;
[/left]