你在蒙我吧,根本没有什么fields属性的,摆脱,不要再骗我了好不好。

解决方案 »

  1.   

    DXDBGrid1.dataset.fields[2].AsString:='test';
      

  2.   

    更正:
    DXDBGrid1.datasource.dataset.fields[2].AsString:='test';
      

  3.   

    楼上的方法好像没有用阿,你说的那是对在dataset中用对应列的写法吧?如果是新加的列呢?在dataset(比如table)中没有对应的列,而是用户新加的列(比如作为标志列)不想加进数据库中?这种问题我也碰到了,该怎么解决阿?dxdbgrid和dbgrid是不是都不能添加不在数据库中的列呢?
      

  4.   

    动态添加列,
      with dxDBGrid1.CreateColumn(TdxDBGridButtonColumn) as TdxDBGridButtonColumn do
      begin
        
         FieldName := '...';//字段指定了没有?
      end;如果对应了dataset的field,应该就可以输入了!
      

  5.   

    如果没有对应dataset的field呢?我想创建一个列,但不是数据库中的列,再dataset中也没有和它相对应的阿
      

  6.   

    调用dxDBGrid.Refresh刷新一下。另外数据集必须是激活的。
      

  7.   

    dxDBGrid.Columns[1].Grid.Fields[1].AsString:='test';
      

  8.   

    楼上的方法我都试过了,好像没什么用处,因为你们谈的属性好像没有呀。
    比如:dxDBGrid.Columns[1]就没有什么Grid属性的。难道没人用过吗??等待中... ...
      

  9.   

    好像不行阿,grid指的是什么阿?根本没有这个属性阿
      

  10.   

    你是不是这样:用 'alter talbe 表名 add 字段' 加字段的啊?
    如果是就要:然后在更新了字段或数据之后:
    确保你的 query中select了新加的字段。
    或者用 select * from tablename 代替
    用:
    DXDBGrid1.datasource.dataset.refresh;  //刷新
      

  11.   

    对不起,我没有说明白。
    我只是在dxDBGrid中增加了一列,并没有和数据库有任何联系。
    我想在该列中填入指定的数据(并不是数据库中的数据)。
      

  12.   

    没有字段对应好像不能直接赋值!
    不过可以在column的ongettext事件里写值!dxDBGrid1Column1GetText(Sender: TObject;
      ANode: TdxTreeListNode; var AText: String);
    begin
       if ... then    atext:='hello';
    end;
      

  13.   

    为何不换成dxTreelist拭一下呢,这个也比较方便呀
      

  14.   

    dXDBGrid.Columns.RebuildColumns;
    dXDBGrid.Columns.Items[I].FieldName := 'Test';
    这是追加一列
    一个数据库中已有的列 I是列的编号
    没有字段 我也不知道了