![]() |
|
مشكلة الكومبوبوكس مع الفلترة - نسخة قابلة للطباعة +- 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] كود : // عملية تصفية
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] كود : // الغاء تصفية
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] كود : procedure TForm1.ComboBox1Change(Sender: TObject);
begin
edit1.Text := ComboBox1.Text;
end; |