如果你希望可以点击房间号就可以得到信息的话,最好是用bitbtn或speedbutton做,那样会好一点

解决方案 »

  1.   

    理想的效果是
    在一个pannel上有很多的的状态显示(形如edit的显示效果)
    不需要有任何操作大哥有什么好想法?
      

  2.   

    动态生成几种(看你的要求来定)类型房间的query,并动态生成几个相对应的datasource,把dbedit的datasource分别设置为这几个不同的datasource,然后就对这分组的dbedit的color进行设置,明白了吗?(可能我说的不太清楚,我都不满意!!!)
      

  3.   

    颜色值有很多eg:clgreen;clred;clyellow。。
    edit1.color:=clgreen 即可
      

  4.   

    给 Bob7946(X度空间) 你的意思是用DBEDIT显示?
    你的想法也是我的想法,
    问题是在一个类型中,所有的dbedit的filed都是房间状态的字段,只是值得不同,
    怎么可以显示不同的值?
      

  5.   

    是啊,知道dbedit有一个datasource属性不,你可以把dbedit分为几类(按房间种类的不同),设置不同的color,然后,设置不同的datasource,对于每个datasource都有一个query,而这个query的sql语句就是按房间类型的不同捞数据的,这回懂了吧,连我都听懂了,呵呵~~
      

  6.   

    用dbedit做可以解决文字输出的问题,但是颜色的问题始终要解决。
    我想还是要做判断的
      

  7.   

    那这样做的话,岂非要很多的datasource和query
      

  8.   

    用dbgrid,呵呵,将每一栏按状态设成不同的颜色就行了。if querylook.FieldByName('应收金额').AsInteger<>querylook.FieldByName('实收金额').AsInteger then
      begin
         DBGrid1.Canvas.Font.Color := clred;//字体颜色
         Dbgrid1.Canvas.Brush.Color:=clwhite;//加上了对底色的修改
      end else
      begin
        DBGrid1.Canvas.Font.Color := clblue;
        dbgrid1.Canvas.Brush.Color:=clmoneygreen;
      end;
      DBGrid1.DefaultDrawColumnCell(rect,datacol,column,state);
    //你可以加多几种颜色,用case of 
      

  9.   

    以上用在 DBGrid.OnDrawColumnCell(...) 中:
      

  10.   

    那就看他的房间类型多不多了。
    可以自己做一个这样的dbedit继承下来的控件,添加2个属性:ControlColorField,ControlColor,设置这个字段属性后,就让dbedit的颜色跟着设置的字段变化了,呵呵~~