在相应的事件中动态改变dbgrid的属性,如按增加之后,
DBGrid1.Column[0].ReadOnly := false ;
DBGrid1.Column[1].ReadOnly := false ;
DBGrid1.Column[2].ReadOnly := false ;
然后,在afterpost的事件中再改变dbgrid的属性,
DBGrid1.Column[0].ReadOnly := true ;
DBGrid1.Column[1].ReadOnly := true ;
DBGrid1.Column[2].ReadOnly := true ;
请试一试

解决方案 »

  1.   

    如果你的表中已有纪录没有空的项目,可以如下处理:
    在DBGrid1CellClick事件中加入:
      if (Column.Title.Caption <>'Alpha')
           and(DBGrid1.SelectedField.AsString <>'')
         then DBGrid1.EditorMode :=False
      else DBGrid1.EditorMode :=True;
      
      

  2.   

    在哪添加afterpost的事件????????
      

  3.   

    在相应的事件中动态改变dbgrid的属性,如按增加之后,
    DBGrid1.Column[0].ReadOnly := false ;
    DBGrid1.Column[1].ReadOnly := false ;
    DBGrid1.Column[2].ReadOnly := false ;
    然后,在afterpost的事件中再改变dbgrid的属性,
    DBGrid1.Column[0].ReadOnly := true ;
    DBGrid1.Column[1].ReadOnly := true ;
    DBGrid1.Column[2].ReadOnly := true ;
    在申明一下啊