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

مبادرة لتشكيل dbgrid مطور

مغلق
بدأه rm31 في 9 أبريل 2007 · 4 رد · 890 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني الأعزاء في المنتدى السلام عليكم ورحمة الله وبركاته

أثناء تجولي بالمنتدى لا حظت اهتمام عدد من الزوار والسائلين بالمكون dbgrid فمنهم من يطلب نسخة مطورة منه و منهم من يشتكي من عدم نجاح تصيب نسخة مطورة. وحق لهم ذلك لأن هذا المكون له أهمية كبيرة في تسهيل استغلال المستخدم لبرنامجك.

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

كيف يتم ذلك ؟

سأطرح أنا أول البرنامج من أجل أن يتعامل معه الآخرون .ثم من كان له أي تعديل فليضفه وليستشرنا.

يحق لمن وضع شيئا جديدا أن يضع اسمه بعده طبعا مسبوقا بـ ://

من قام بالتعديل فعليه أن تكون مشاركته هكذا:

1- مضمون التعديل:

2-شفرة التعديل : ( حتى يتسنى للضيوف الاطلاع عليها)

ملاحظة هامة: لا تعديل الا على النسخة الأخيرة حتى لا نرجع للوراء. ولا مشاركات بدون مرفق معدل من فضلكم. ولا للمشاركات المبهمة

______________________

نقول بسم الله.

مضمون التعديل: جعل ألأسطر بألوان مختلفة من أجل مقروئية أحسن.

شفرة التعديل :

ضع في:

implementation
type
  AlternGrid = class(TCustomDBGrid);

ثم أ كتب هذه الشيفرة :

procedure TFMateriel.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
 var dataset:Tdataset;
  begin
  dataset:= (Sender as TDBGrid).DataSource.DataSet;
	with AlternGrid(Sender) do
	begin
		 if (DataSet.RecNo mod 2 = 1 ) then
		 Canvas.Brush.Color :=$00EBFEFB 
		 else
		 Canvas.Brush.Color :=$00E7ECCA;
	  if  DataLink.ActiveRecord = Row -1 then
							   begin
							   Canvas.Font.Color:=clwhite;
							   Canvas.Brush.Color:=clblack;
	end;					   end;
	 DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column, State);


end;

هذه خطوة أولى وهناك العديد مما سيأتي بشرط التجاوب.

تحياتي.....

EXP01.zip

عن ‏ ‏أسامة بن زيد قال: ‏قال رسول الله - ‏صلى الله عليه وسلم -: ( من صنع إليه معروف فقال لفاعله جزاك الله خيرا فقد أبلغ في الثناء ) .

رواه الترمذي و قال ‏هذا ‏ ‏حديث حسن جيد غريب.

و صححه العلامة الألباني في صحيح الترغيب

www.sahab.net

#2

طريقة التلوين غير فعالة، فكر بغيرها

 if (DataSet.RecNo mod 2 = 1 ) then

احذف Record سجل وانظر ماذا يحدث

d4baa0.gif
#3

ما حدث أي شيء بارك الله فيك أرجو التوضيح لو أنك جربته.

عن ‏ ‏أسامة بن زيد قال: ‏قال رسول الله - ‏صلى الله عليه وسلم -: ( من صنع إليه معروف فقال لفاعله جزاك الله خيرا فقد أبلغ في الثناء ) .

رواه الترمذي و قال ‏هذا ‏ ‏حديث حسن جيد غريب.

و صححه العلامة الألباني في صحيح الترغيب

www.sahab.net

#4

السلام عليكم إخواني الكرام يبدو أن الموضوع لا يهم أحدا لكن سأواصل بعون الله لعل الله ينفع به.

المشاركة الموالية هي :

مضمون التعديل: وضع صورة في DBGRID للدلالة.

شفرة التعديل:في نفس موقع الشفرة السابقة DBGrid1DrawColumnCell ضع بعده مايلي:

if (column.Field.DataType = ftBoolean) then
  begin 

	dbGrid1.Canvas.FillRect(Rect); 

	if (column.Field.AsBoolean) then
	begin
	  imagesCheck.draw(dbGrid1.Canvas,
					   rect.Left + ((rect.Right - rect.Left - imagesCheck.Width) div 2),
					   rect.Top,
					   1);
	end

	else
	begin
	  imagesCheck.draw(dbGrid1.Canvas,
					   rect.Left + ((rect.Right - rect.Left - imagesCheck.Width) div 2),
					   rect.Top,
					   0);
	end
  end

على فكرة قد تراجعت عن بعض قيودي السابقة لمن أراد المساهمة.

ترقبوا الموالي.......

EXP02.zip

عن ‏ ‏أسامة بن زيد قال: ‏قال رسول الله - ‏صلى الله عليه وسلم -: ( من صنع إليه معروف فقال لفاعله جزاك الله خيرا فقد أبلغ في الثناء ) .

رواه الترمذي و قال ‏هذا ‏ ‏حديث حسن جيد غريب.

و صححه العلامة الألباني في صحيح الترغيب

www.sahab.net

#5

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

لا زلت مسرا على المواصلة رغم عدم التجاوب.

مضمون التعديل: تثبيت عمود في dbgrid حتى لا يتأثر بحركة عارضة التحريك.

شفرة التعديل: سهلة جدا ضع مايلي

procedure TForm1.FormShow(Sender: TObject);
begin
TDrawGrid(dbgrid1).FixedCols :=3;
dbgrid1.Refresh;
end

;

يمكنك التحكم في عدد الأعمدة بتغيير العدد 3 مثلا الى 2.

لا تنس بعد التحميل تحريك العارضة الأفقية لملاحظة الأثر.

مع خالص التحية.

EXP03.zip

تم تعديل هذه المشاركة بواسطة rm31 في 15 أبريل 2007 في 13:52

عن ‏ ‏أسامة بن زيد قال: ‏قال رسول الله - ‏صلى الله عليه وسلم -: ( من صنع إليه معروف فقال لفاعله جزاك الله خيرا فقد أبلغ في الثناء ) .

رواه الترمذي و قال ‏هذا ‏ ‏حديث حسن جيد غريب.

و صححه العلامة الألباني في صحيح الترغيب

www.sahab.net

هذا الموضوع مغلق.

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