在读取数据时怎么根据数据库中的数据自动进行编号,即在DBGridEH的左边进行自动编号。谢谢大家了。

解决方案 »

  1.   

    不知道你用什么做数据源的 
    我一般用adoquery 知道adoquery自己对查询出来的数据有一个自动的索引值
    个人觉得可以把它拿出来 
    然后对DBGRID的好像是fieldvalue[i]进行赋值 楼主可以试试
      

  2.   

    不知道你用什么做数据源的 
    我一般用adoquery 知道adoquery自己对查询出来的数据有一个自动的索引值
    个人觉得可以把它拿出来 
    然后对DBGRID的好像是fieldvalue[i]进行赋值 楼主可以试试
      

  3.   

    adoquery1添加计算字段 id
    在adoquery1的onCalcFields事件里写
    adoquery1.fieldbyname('id').asInteger := adoquery1.RecNo;
    看看行不
      

  4.   

    procedure TMO_Module.ADO_SeeCalcFields(DataSet: TDataSet);
    begin
      If Ado_see.Active then
        begin
          If Ado_see.RecNo=-1 then
            Ado_see.FieldByName('RecNo').AsInteger:=Ado_see.RecNo+2
          Else
            Ado_see.FieldByName('RecNo').AsInteger:=Ado_see.RecNo;
        end;
    end;這是我以前寫,首先添加 ado 的一個 Integer字段 用來計算 代碼你改過就可以
      

  5.   

    给个例子
    create table t(a varchar(20),b varchar(20))
    go
    insert into t select 'a','aaa'
    union select 'b','bbb'
    union select 'c','ccc'
    goselect * from t
    go
    select id=(select count(*) from t where a <= t1.a),a,b from t t1
    go
    drop table t
    go
      

  6.   

    在fields里加一个新的,名称随便,然后在OnGetText事件里写:
    if Sender.DataSet.IsEmpty then exit;
    Text := IntToStr(Sender.DataSet.RecNo);
    if Text = '-1' then
      Text := IntToStr(Sender.DataSet.RecordCount + 1);
      

  7.   

    回复人: qizhanfeng(glacier) ( ) 信誉:100  2005-12-08 08:41:00  得分: 0  
     
     
       adoquery1添加计算字段 id
    在adoquery1的onCalcFields事件里写
    adoquery1.fieldbyname('id').asInteger := adoquery1.RecNo;
    看看行不
      
     
    支持!!!!!!!!!!!
      

  8.   

    xuexi_110(不小心) 
    这样写好象不行.
      

  9.   

    上面给出的答案是不行滴!因为-1是adoquery当然的编辑的记录。这样的会现1、2、-1、4的情况
      

  10.   

    回复人: ffg_alin(随风) ( ) 信誉:100  2005-12-8 13:08:39  得分: 0  
     
     
       
    xuexi_110(不小心) 
    这样写好象不行.  
     
    明白了,是会出现两个1
      

  11.   

    请见
    http://community.csdn.net/Expert/topic/4242/4242598.xml?temp=.4491236procedure TForm1.ADOQuery2CalcFields(DataSet: TDataSet);
    begin
      if DataSet.Bof then
        DataSet.FieldByName('aaa').AsInteger := 1
      else if DataSet.Eof then
        DataSet.FieldByName('aaa').AsInteger := DataSet.RecordCount
      else
        DataSet.FieldByName('aaa').AsInteger := DataSet.RecNo;
    end;
      

  12.   

    http://www.cnblogs.com/Bonny.Wong/archive/2005/01/12/90379.html?Pending=true#Post
      

  13.   

    谢谢大家的帮助 。我都试了。感觉现在: qizhanfeng(glacier) 兄的最好。我要慢慢研究一下。谢谢各位了。怎么给你们加分啊?