27-09-2020, 11:52 AM
هل يوجد كود يمكن تلوين الخلايا المكررة في dbgrid أو مكون يقوم بالمهمة
|
كيف تلوين القيم المكررة في DBGrid ؟
|
|
27-09-2020, 11:52 AM
هل يوجد كود يمكن تلوين الخلايا المكررة في dbgrid أو مكون يقوم بالمهمة
27-09-2020, 12:29 PM
تلوين DBGrid بطريقة جميلة
https://delphi4arab.net/forum/showthread.php?tid=654
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
27-09-2020, 01:20 PM
أقصد لوين الخلايا المكررة في dbgrid
27-09-2020, 01:43 PM
تلوين الخلايا يتم باستغلال الحدث OnDrawColumnCell بالرابط السابق مرفق مثال +روابط متعلقة بتلوين خلايا Grid هذا نصف الطريق، الباقي عليك... فكر.
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
27-09-2020, 06:35 PM
السلام عليكم
هل يمكن عند إضافة بعض الخصائص مثل تلوين الديبي كريد هل يمكن جعلها مكون يضاف من برمجتي أي كيف يمكنني برمجة مكون كالديبي قريد به إضافاتي الخاصة لكي لا أضطر كل مره أقوم بنفس الإجراءات
27-09-2020, 11:21 PM
كتب تعلم كتابة الكمبوننت
https://delphi4arab.net/forum/showthread.php?tid=2255
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
22-10-2020, 07:18 AM
لا توجد اجابة لتوين القيم المكررة في dbgrid
امثلة
كود : procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
Field: TField;
begin
// store the currently rendered cell's column assigned field reference
// (if any) to the local variable (there's quite expensive getter)
Field := Column.Field;
// if the rendered cell's column has assigned a field and this field's
// name is 'Clubs' (compared without case sensitivity), then, and only
// then change the brush color...
if Assigned(Field) and SameText(Field.FieldName, 'Clubs') then
begin
if Field.AsString = 'yes' then
DBGrid1.Canvas.Brush.Color := clRed
else
DBGrid1.Canvas.Brush.Color := clYellow;
end;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;او كود : if Column.FieldName = 'Clubs' then
begin
if ADOTable1.FieldByName('Clubs').AsString = 'yes' then
DBGrid1.Canvas.Brush.Color := clRed
else
DBGrid1.Canvas.Brush.Color := clYellow;
end;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);اولا اعتقد تحتاج الى البحث بالجدول عن القيم المكررة ولنفرض انك حصلت على كلمات مثل (سيارة، منزل ، سوق ) بعدها مكان الحقل بالاسم Clubs ستقول له ان كان يساوي سيارة او منزل او سوق فاجعل اللون كذا . اما مكون يدعم ذلك المكون EhLib يقوم بشي مماثل فقط انه يدمج الاعمدة للقيم المكررة ولا اعرف بالنسبة لتلوينها
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
13-07-2022, 02:58 PM
ممكن كود في dbgrid لتلوين القيم المكررة الأسماء مثلا
هذا مثال على السريع جربه
كود : if (Column.Field.FieldName='name') and (Fname = Column.Field.Value) then
begin
DBGrid1.Canvas.Brush.Color := clRed ;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end else begin
DBGrid1.Canvas.Brush.Color := clWhite ;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
if (Column.Field.FieldName='name') then
Fname:=Column.Field.Value;الفكرة على السريع تحتاج منك ان تقوم بترتيب الاسماء ابجديا بحيث تصبح المتكررة وراء بعضها بعدها في حدث الرسم تقوم بمقارنة القيمة الجديدة بالقيمة السابقة لاحظ اقول السابقة لان المتغير الذي نضع فيه الاسم بنهاية الكود مما يجعل قيمته دائما هي القيمة السابقة فلو كانت متطابقة للقيمة الجديدة بالسطر الجديد يجعل لونه بالاحمر يحتاج منك الى القليل من الضبط والاهتمام ولو انني لا افضل هذا الاسلوب واظهار القيم المكررة بواسطة استعلام
Dbgrid.rar (الحجم : 57.17 ك ب / التحميلات : 38)
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
|
|
|