在clientdataset中添加了一个YID字段作为选择否。
sql:='SELECT ''Y'' as YID,A,B,C from myTable';
cmdTxt:=sql;
open;这个数据就取到我的DBgrid里去了。现在想双击DBgrid事件,改变YID的值,为 [Y or ''],但是修改一点用也没有,老是提示Field 'YID' cannot be modified.
但是我用了
edit;
fieldbyname('YID').asstring:='Y';
post;
在post时就出错提示!请问大家想选择当前行的时候,是怎么实现的!或是我现在这个问题该怎么解决谢谢!

解决方案 »

  1.   

    你这个是常量,DBGrid更新不到数据库里去,所以不让修改吧。不知道你这样做的意图是什么
      

  2.   

    作为临时的字段
    比如记录,用户选择Y的,表示选中的,没有选中的就过滤掉
    如: 
    Y  1 2 3
    Y  4 5 6
       7 8 9
    Y  10 11 12
       13 14 15
    Y  16 17 18然后根据YID表示,需要的结果应该为:
    1 2 3
    4 5 6
    10 11 12
    16 17 18
    选中的字段才保存 
      

  3.   

    DBGrid支持多选的,不需要用这样的标记吧