在DBgrid中怎么样设置某一列的数据可修在并可以提交到数据库的表里边且要提交后反映到DBgrid里边

解决方案 »

  1.   

    现在是我的代码里面只有这吗几个过程
    而没有设置其他的过程
    也没有对那一列设置怎么的急!!!!!!!!!!!!!!!!!
    procedure TYWDJFRM.suidbgrid2ColExit(Sender: TObject);
    begin
       if suidbgrid2.DataSource.DataSet.State=dsEdit then
       begin
            suidbgrid2.DataSource.DataSet.Post;
       end;
       self.calmoney;
    end;procedure TYWDJFRM.suidbgrid2Exit(Sender: TObject);
    begin
       if suidbgrid2.DataSource.DataSet.State=dsEdit then
       begin
            suidbgrid2.DataSource.DataSet.Post;
       end;
       self.calmoney;
    end;就可以提交数据到表里面
    是怎么回事??
    是如何人的提交的????
    为什么这有那吗一个字段可一修改
    其他的却不能拉?????
    急!!!!!!!!!!!!!!!!!
      

  2.   

    你可以设置要让它可修改的字段的只读属性为False,其它字段的只读属性为True
    如:dbgrid.fields[0].readonly:=false;
      

  3.   

    但是我现在是初始字段就全为false
    且在代码中中我也没有发现他再那改变了他的只读属性为true呀???问题就是他现在就只有一个字段可修改
    其他字段却不能修改呀???????是不是我要重新设置落????
    在代码里面
      

  4.   

    设置对应字段的readonly:=false;
    DBGrid1.DataSource.DataSet.edit;//编辑
    DBGrid1.DataSource.DataSet.post;//提交到数据库中
      

  5.   

    各位高大虾
    怪怪了
    我按各位说的把那个字段
    在suidbgrid的suidbgrid2KeyUp事件和suidbgrid2Exit事件里面
    设置如下     self.suidbgrid2.fields[0].readonly:=false;
         self.suidbgrid2.DataSource.DataSet.edit;
    搞的原来的字段却也不能修改了
    ????
      

  6.   

    1:你用什么数据集控件?adoquery吗?这里面是不是有设置。
    2:你将dbgrid的字段都设为readonly:=false;
    3:再在代码里搜索readonly关键字,看看有否设置.
      

  7.   

    谢谢各位的指点
    我我的问题已经解决
    但正如xhh_88(三友)
    说的可能我的ADOquery还有设置
    我如果在调用计算总金额的话就不能修该
    现在我是屏蔽了那段
    结果还是正确
    但就是不能及时的看到总的