الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

يف يمكنني ترتيب تنازلي في الديبقريدdbgrid

بدأه medreg في 18 سبتمبر 2009 · 5 رد · 1,005 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله تعالى وبركاته

صباحكم مبروك

وليلة قدر مباركة إن شاء الله

وصيام مقبول بإذن الله

اما بعد

كل ما أحتاجه الآن هو الترتيب داخل الديبقريد الذي تم له تحويل المعطيات

من الأصغر الى الأكبر بدون ما استعمل المكون Query أو تعليمة SQL واكتفي فقط بالمكون Table

مطلوب منكم اعزائ التعديل على المرفق حسب الصورة الصورة الموضحة

tartib.jpg

المطلوب كما اسلفت يجب ان يكون حسب الصورة

وجزاكم الله عنا كل خير

Test_Transfert.rar

tartib.rar

تم تعديل هذه المشاركة بواسطة medreg في 18 سبتمبر 2009 في 23:07

#2

مرحبا وتقبل الله منا ومنكم جميعا .

استخدم الكود التالي في حدث كلك على تايتل الديبي قرد

procedure TFunit.DBGrid1TitleClick(Column: TColumn);

begin if DBGrid1.DataSource.DataSet is TCustomADODataSet then
  with TCustomADODataSet(DBGrid1.DataSource.DataSet) do
  begin if (Pos(Column.Field.FieldName, Sort) = 1) and (Pos(' DESC', Sort)= 0) then
      Sort := Column.Field.FieldName + ' DESC'
    else
      Sort := Column.Field.FieldName + ' ASC';
  end;


end;

تم تعديل هذه المشاركة بواسطة alswah في 18 سبتمبر 2009 في 13:06

1
#3
alswah كتب:
مرحبا وتقبل الله منا ومنكم جميعا .

استخدم الكود التالي في حدث كلك على تايتل الديبي قرد

procedure TFunit.DBGrid1TitleClick(Column: TColumn);

begin if DBGrid1.DataSource.DataSet is TCustomADODataSet then
  with TCustomADODataSet(DBGrid1.DataSource.DataSet) do
  begin if (Pos(Column.Field.FieldName, Sort) = 1) and (Pos(' DESC', Sort)= 0) then
      Sort := Column.Field.FieldName + ' DESC'
    else
      Sort := Column.Field.FieldName + ' ASC';
  end;


end;

شكرًا على الرد

لكني لم افلح في وضع هذا الكود

مع العلم انني استعمل Table

وليس ADO

ارجو التوضيح اكثر ويا ريت لو عدلت لي على المرفق يكون احسن

#4

سيفيدك المرفق و الرابط

المرجع الشامل لجمل SQL

test.rar

1

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#5

قد تعجبك هذه الفكرة

QuerySQL is a global string that holds the SQL-statement. 

begin 
  QuerySQL := 'SELECT * FROM Customer.DB'; 
  Query1.SQL.Add(QuerySQL); 
  Query1.Open; 
end; 


In the DBGrid event OnTitleClick, we just add an ORDER-BY clause to the sql and refresh the query. 

procedure TForm1.DBGrid1TitleClick(Column: TColumn); 
begin 
  witzh Query1 do 
  begin 
	DisableControls; 
	Close; 
	SQL.Clear; 
	SQL.Add(QuerySQL); 
	SQL.Add('ORDER BY ' + Column.FieldName); 
	Open; 
	// Restore the title settings, otherwise everything 
	// will be blue after a while 
	DBGrid1.Columns.RestoreDefaults; 
	Column.Title.Font.Color := clBlue; 
	EnableControls; 
  end; 
end;
http://www.delphi3000.com/articles/article_905.asp?SK=
1
#6

شكرًا على المجهود يا أخي

بالنسبة لإستعمال SQL

لدي الفرة نوعًا ما

لكن ما أبحث عنه هو

هل من دون استعمال SQL

لا يمكن ترتيب ما بداخل الديبقريد مع المعطيات ذات نفسها من خلال تعاملنا نع Table فقط

هذا ماأسأل عنه واريد أن أفهم

هل انا اتعب في نفسي على الفارغ يعني هل لا داعي للبحث في هذا المجال

ارجو من ذوي الخبرة ان يشيرون علينا بما هو أفضل

وعيد مبروك وكل عام وأنتم بألف خير

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…