我有一组数据 
格式如:姓名  学号  课程  (打个简单的比方而已,各位知道我意思就可以了)
其中 课程 是个字典  分代号和名称2个东东 
显示的时候用名称 存储的时候用代号我用cxGrid 注意 但并不与数据库连接
只显示 我想显示的  姓名  学号 课程  并可以在cxGrid 上直接修改
修改好后 多条数据一起存到数据库
整个过程 要求cxGrid不与数据库连接 
编辑是一行结束了 自动增加一行简单的说cxGrid只当一个编辑的容器 并不是普通的显示数据那样用请问这样可以吗?
有人说用重画可以实现
但我不会  谁可以帮我讲解一下 越详细越好 最好有原码
谁有其他的方法 也请不吝赐教啊分数不是问题叩谢  叩谢

解决方案 »

  1.   

    用ClientDataSet控件就可以实现
    如下操作:
    1.放一个ClientDataSet1,双击ClientDataSet1,在弹出的窗口中单击右键,选择NewField,Name中输入Name,Type选择String,其它不动。如此再添加一个Sex字段、
    2.放一个DataSource1,用DataSource1连接ClientDataSet1。
    3.放一个DbGrid1,连接DataSource1。
    在CodeEdit里这样写下面的代码
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ClientDataSet1.Append;
      ClientDataSet1.FieldByName('Name').AsString:='张三';
      ClientDataSet1.FieldByName('Sex').AsString:='男';
      ClientDataSet1.Post;
    end;procedure TForm1.FormCreate(Sender: TObject);begin
      ClientDataSet1.Close;
      ClientDataSet1.CreateDataSet;
      ClientDataSet1.Open;
    end;
    这样添加的只是在ClientDataSet1中,并没有到数据库里,然后你要往数据库里存就不用说了吧
      

  2.   

    TClientDataSet只要你不调用ApplyUpdate(integer)方法就不会更新到数据库中.