如何才能控件某个单元格可写与只读呢?比如说我不想让第3行第4列的那个单元格输入数据,该如何控制呢?解决后立马给分,不够再加!!

解决方案 »

  1.   

    动态的去控制,
    当焦点在那个单元格上时就不让输入。
    用到的事件有数据集的AfterScroll,
    GRID的OnColExit。
      

  2.   

    这个跟TDBGridEH是无关的!
    用TDBGrid也是一样的!
      

  3.   

    在ondrawcolumncell 或ondrowdatacell事件中编写代码试试:)
      

  4.   

    你的第三行对应的字段名为:'Sex',第四个为:'Age'就可以这样作了。
    //在窗体创建时
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      DBGrid1.DataSource.DataSet.FieldByName('Sex').ReadOnly:=True;
      DBGrid1.DataSource.DataSet.FieldByName('Age').ReadOnly:=True;
    end;
    //不是操作TDBGrid
      

  5.   

    你在dbgrideh的oncolenter事件里控制.dbgrideh1.column[3].readonley:=True;
      

  6.   

    在dbgrideh1的 oncolenter事件里控制dbgrideh1.column[3].readonly;=True;
      

  7.   

    在dbgrideh1的 oncolenter事件
    及dbgrideh1.DataSource.DataSet的 AfterScroll事件里控制if dbgrideh1.SelectedIndex=4 then
    begin
      if dbgrideh1.DataSource.dataset.recno=3 then
         dbgrideh1.column[3].readonly;=True
      else
         dbgrideh1.column[3].readonly;=False;
    end;