在用DBCtrlGrid控件做病区一览表的时候,需要根据病人的信息来控制DBCtrlGrid的Panel的颜色,比如,病人欠费了,则显示此病人的panel的颜色变为红色,马上给分

解决方案 »

  1.   

    procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid;
      Index: Integer);
    begin
      if ...... then
        DBCtrlGrid.Color:=clred;
    end;
      

  2.   

    我没用这个,我用的是ScrollBox,Panel,Label等,自己写出的
      

  3.   

    bbs791109(小别) 的方法是将整个DBCtrlGrid的颜色变为红,而我的意思是将其中的某些小方块的颜色根据条件变为红,就象一整窗的玻璃,其中某些玻璃为红色红色,
      

  4.   

    在onPaintPanel事件中做如下处理procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid;
      Index: Integer);
    begin
      if Index = 0 then
         DBCtrlGrid.SelectedColor := clRed;
    end;
      

  5.   

    procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid;
      Index: Integer);
    begin    if DBCtrlGrid.DataSource.DataSet.FieldValues['欠费']='Y' then
        begin
            DBCtrlGrid.Canvas.Brush.Color:=ClRed;
            DBCtrlGrid.Canvas.FillRect(DBCtrlGrid.ClientRect);
        end ;end;