دلفي تعليم
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

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

اذهب الى الأسفل

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

مُساهمة  ali 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;



ali
مبرمج مجتهد

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

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

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

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