سلام
چطوري ميشه ركورد فعال در DBGride رو رنگي كرد
مثالا
وقتي 10 ركورد در DBGride داريم
كاربر روي هر ركوردي كه كليك كرد رنگ
سطر انتخابي(ركورد انتخابي) با ساير
سطر ها تغيير فرق كنه (همه رنگ پيش فرض و ركورد فعال زرد
رنگ بشه)
Printable View
سلام
چطوري ميشه ركورد فعال در DBGride رو رنگي كرد
مثالا
وقتي 10 ركورد در DBGride داريم
كاربر روي هر ركوردي كه كليك كرد رنگ
سطر انتخابي(ركورد انتخابي) با ساير
سطر ها تغيير فرق كنه (همه رنگ پيش فرض و ركورد فعال زرد
رنگ بشه)
این پروسیجر رو در رویداد DBGrid1DrawColumnCell قرار بده.
کد:procedure DBGridColor(Sender: TObject;const Rect: TRect; DataCol: Integer; Column: TColumn;State: TGridDrawState);
var
test1: Real;
RowNo: Integer;
farbe:TColor;
begin
Try
with (Sender as TDBGrid) do
begin
if (gdSelected in State) then
begin
Canvas.Brush.Color :=Readini('','report_Selected_row_color'); { * رنگ ردیف انتخاب شده}
end
else
begin
rowno := (Sender as TDBGrid).DataSource.DataSet.RecNo;
test1 := (RowNo / 2) - trunc(RowNo / 2);
if test1 = 0 then
begin
farbe := Readini('','report_row_Odd_color');{ رنگ ردیف فرد}
end
else
begin
farbe := Readini('','report_row_color'); { رنگ ردیف زوج}
end;
Canvas.Brush.Color := farbe;
Canvas.Font.Color := clBlack;
end;
Canvas.FillRect(Rect);
if Column.FieldName<>'' then
Canvas.TextOut(Rect.Left + 2, Rect.Top + 1, Column.Field.DisplayText);
end
Except
End;
end;
سلام
SoftDevCo عزيز
خيلي ممنون
امتحان كردم فقط يه مشكل كوچولو داشت
وقتي يه سلول رو انتخاب مي كنم فقط اون سلول
رنگش تغيير مي كنه نه كل رديف انتخابي
چه تغييري بايد روي كد بدم
اما سلول ها فرد وزوج رنگ مي گيرن
با زهم خيلي ممنون
خاصیت dgRowSelect درDBGrid Options رو True کنید.
سلام
دوست عزيز من از كدي كه شما قرار دادين استفاده مي كنم ارور مي ده كه readini تعریف نشده
توی یوسس چیزی رو باید قرار بدم ؟
ممنون و منتظرم
ReadINI پروسیجری هست که خودم نوشتم برای خواندن از فایل های INI .نقل قول:
نوشته شده توسط hp1361
شما جای اون ، رنگ مورد نظرتون رو قرار بدین. مثلا #154F4778
ممنون دوست عزيز.
دوستان ميتونين توي تاپيك با عنوان تغيير DBGride كه خودم اونجا سوال كرده بودم و دو تا از دوستان سايت معرفي كرده بودند هم نگاهي بكنيد.
مطالب جالبي وجود داره.
موفق باشيد.
سلام
توي خواص DBGrid قسمت Option
خاصيت dgRowSelect رو True كن
همين طور خاصيت dgMultiSelect رو True كن
در ضمن یادتون باشه مقدار رنگ باید بیشتر از 6 حرف به علاوه # نباشه یعنی 7 کاراکتر
سلام
یه نکته کوچولونقل قول:
نوشته شده توسط flashdes
#RRGGBB
2 تای اول شماره رنگ قرمز
2 تای دوم شماره رنگ سبز
2 تای سوم شماره رنگ آبی