首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

DBGrid 指定欄位變色:OnDrawCell 事件實作

     編輯:關於SqlServer

在 TDBGrid 中為特定欄位套用自訂背景色,可在 OnDrawCell 事件中判斷欄位並設定畫布筆刷顏色,再呼叫 DefaultDrawDataCell 繪製預設內容。

程式碼範例

procedure TForm1.DBGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  Column: TColumn;
begin
  Column := DBGrid1.Columns[ACol];
  if Column = DBGrid1.Columns[2] then // 或用 Column.FieldName = '欄位名'
  begin
    DBGrid1.Canvas.Brush.Color := clRed; // 設定背景色
    DBGrid1.DefaultDrawDataCell(Rect, Column.Field, State);
  end;
end;

關鍵點

  • 透過 Columns[ACol] 取得目前繪製的欄位物件。
  • 比對欄位索引或 FieldName 決定是否變色。
  • 設定 Canvas.Brush.Color 後,必須呼叫 DefaultDrawDataCell 讓格狀繪製文字與焦點框。

進階技巧

若需依資料值動態變色(如負數顯示紅字),可在事件中讀取 Column.Field.AsInteger 等屬性判斷。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved