如何在dbgrid中设置某列的值均为*(相当于密码列能显示但不能让人看到用户密码)

解决方案 »

  1.   

    在DBGrid的DrawDataCell或者DrawColumnCell事件中判断列的标题,比如是列标题='密码',就直接DBGrid->Canvas->TextOutA(ARect.x,ARect.y,'******');
      

  2.   

    老兄:
        DBGrid是专门用来显示数据的,即然不给操作员看,那就不把这个字段放入DBGrid中就行了
      

  3.   

    补充一点你需要在adotable或table的CalcFields事件写以下代码
     if ADOTable1sys_type.Value='1' then
         ADOTable1display.Value:='*'
      else ADOTable1display.Value:='X';
    其中sys_type为其中的密码字段,在这里我假设将密码为1的,用*显示,其余的用户用X显示
    在设计dbgrid中,你就用display(你定义的计算字段)显示用户的密码
      

  4.   

    我记得在数据集或DBGRID中有一个属性可以设置,我手边没有DELPHI,没法帮你找了,自己找一下
      

  5.   

    DBGrid.Column[0].Visible := False;