دلفي تعليم
مرحبا بكم ايها الزئر أو الزائرة الكريمين

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

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

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

مُساهمة  alla في 6/2/2017, 11:55 am


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

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

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

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


نشاء تابل
الكود:

// نشاء تابل
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;

عملية تصفية
الكود:

// عملية تصفية
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;

الغاء تصفية
الكود:

// الغاء تصفية
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;

الكود:

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
 edit1.Text := ComboBox1.Text;
end;



_________________
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

alla
مبرمج مجتهد

عدد المساهمات : 687
تاريخ التسجيل : 29/07/2013

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى