المشاركات : 126
المواضيع 27
:
: 63
الإنتساب : Jun 2013
السلام عليكم ورحمة الله وبركاته
اريد اضافة حقل بجانب حقل من نوع bolean حيث يتم ادخال ايقونة خضرا في امام true وحمراء امام false
كما هنا موجود
![[صورة: capture09.png]](http://www.leppf.fr/IMG/png/capture09.png)
باعتماد على
![[صورة: capture02.png]](http://www.leppf.fr/IMG/png/capture02.png)
هذا هو جدولي
[img]blob:https://imgur.com/9b9b375b-bef2-442c-a2be-cf9ce670a43f[/img]
![[صورة: W3J9LJP.png]](https://i.imgur.com/W3J9LJP.png)
شكرااا وجزاكم الله خيراااا
[img]blob:https://imgur.com/9b9b375b-bef2-442c-a2be-cf9ce670a43f[/img][img]blob:https://imgur.com/9b9b375b-bef2-442c-a2be-cf9ce670a43f[/img]
[img]blob:https://imgur.com/9b9b375b-bef2-442c-a2be-cf9ce670a43f[/img]
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
PHP كود :
type
TDBGrid = Class(DBGrids.TDBGrid)
private
FIcon:TIcon;
FImageList: TImageList;
procedure SetImageList(const Value: TImageList);
Destructor Destroy;override;
published
procedure DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState); override;
Property Imagelist: TImageList read FImageList Write SetImageList;
End;
TForm2 = class(TForm)
.......
implementation
{$R *.dfm}
{ TDBGrid }
destructor TDBGrid.Destroy;
begin
if Assigned(FIcon) then FIcon.Free;
inherited;
end;
procedure TDBGrid.SetImageList(const Value: TImageList);
begin
FImageList := Value;
FreeAndNil(FIcon);
if Assigned(FImageList) then
begin
FIcon := TIcon.Create;
FImageList.GetIcon(0, FIcon);
end;
end;
procedure TDBGrid.DrawCell(ACol, ARow: Integer; ARect: TRect; AState: TGridDrawState);
var
L_Col: Integer;
begin
if dgIndicator in Options then
L_Col := ACol - 1
else
L_Col := ACol;
inherited;
if Assigned(FIcon) and (L_Col > -1) and (ARow = 0) and (Columns[L_Col].FieldName = 'ID') and (gdFixed in AState) then
begin
Canvas.Draw(ARect.Right - 18, ARect.Bottom - 18, FIcon);
//FImagelist.Draw(Canvas,ARect.Right - 18, ARect.Bottom - 18,0); // would cause more flickering
end;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
DBGrid1.DoubleBuffered := true;
DBGrid1.Imagelist := ImageList1;
ReportMemoryLeaksOnShutDown := true;
end;
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 305
المواضيع 50
:
: 43
الإنتساب : Sep 2010
21-06-2018, 07:59 AM
(آخر تعديل لهذه المشاركة: 21-06-2018, 05:35 PM بواسطة Delphi4Us.
تعديل السبب: الكود يحتاج الى تنسيق
)
PHP كود :
procedure TFEmpr.sDBGrid3DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Column.Field=datam.Temprunterempr then
begin
sDBGrid3.Canvas.FillRect(Rect);
ImageList1.Draw(sDBGrid3.Canvas,Rect.Left+2,Rect.Top+2,0);
if datam.Temprunterempr.AsBoolean then
ImageList1.Draw(sDBGrid3.Canvas,Rect.Left+2,Rect.Top+2,2)
else
ImageList1.Draw(sDBGrid3.Canvas,Rect.Left+2,Rect.Top+2,1);
end;
end;
كل من 1 user says قال شكرا ل bouh25 على المشاركة المفيدة1 user says Thank You to bouh25 for this post
• Med-01
المشاركات : 37
المواضيع 8
:
: 0
الإنتساب : Jul 2017
25-06-2018, 08:15 AM
(آخر تعديل لهذه المشاركة: 25-06-2018, 10:26 AM بواسطة أبو معاذ.)
على حسب مااتذكر انك لاتحتاج الى كل هذا الكود لقد مررت على dbgrid فيها هذه الخاصية مباشرة وهذه الخاصية تجدها في dbgrid الغالية الثمن وانا لن اكذب عليك حملتها ****واستعملتها وروعة فانصحك بتجريب dbgrid الغالية الثمن مثل tms component و غيرها فلا تحتاج الى كل هذا الكود والله الموفق
كل من 1 user says قال شكرا ل rezki_z على المشاركة المفيدة1 user says Thank You to rezki_z for this post
• Med-01
المشاركات : 126
المواضيع 27
:
: 63
الإنتساب : Jun 2013
تم بواسطة Delphi4Us لكن عدلت على الكود قليلا
شكراا