一个DataSet的遍历通常是这样的:
  DataSet1.Open();
  DataSet1.First;
  While not DataSet1.Eof do
  begin
    ListBox1.Items.Add(DataSet1.FieldByName('Title').AsString);
    DataSet1.Next;
  end;我能否让DATASET的纪录按另一个字段,比如说ID号顺序输出?
TDataSet 没sort这个属性啊?

解决方案 »

  1.   

    dataset.active := false;
    dataset.active := true;
    dataset.sort := id + 'asc';or dataset.sort := id + 'desc';
      

  2.   

    TDataSet没sort这个东东啊?
      

  3.   

    奇怪了,TDataset类没SORT这个东东啊,各位可以讲明白些吗?
      

  4.   

    用indexname索引进行根据相应的字段的排序啊,不过你先要建立那个排序字段的索引文件啊,用delphi的那个database desktop建立相应表的索引啊!!
      

  5.   

    只这样的,好像那个tdataset类没有这个什么indexname属性啊,这个属性好像只有ttable控件有啊,所以你要用一个语句把那个什么tdataset这个数据原赋给table啊!!对于这个好像很烦的啊!!你先要用一个datasource作为table的数据源啊,还有你要把那个什么datasource的dataset设置为你的那个dataset啊,这样的话,就把你的那个什么dataset数据放到这个table里面了啊,然后建立索引,好像索引也是要动态建立的吧!!,然后用table的indexname属性进行排序!!
    其实这个是个很不好的办法啊!!最好我劝你使用那个query控件里面的sql.text里面加上那个排序的sql语句啊
    诸如:select 字段名 from 表名 where 条件 order by desc(降序)
      

  6.   

    你還是用ADODATASET吧﹐它有一個屬性為SORT。
    ADODATASET.sort:='id DESC';
      

  7.   

    如果是关系数据库,
    sql1:='select * from tableA order by num';
    DataSet1.Sql.Add(Sql1);
    .......
      

  8.   

    关于排序最好还是QUERY控件。
      

  9.   

    用indexfilename就可以进行排序了
      

  10.   

    首先给数据集加一个索引,方法是:
       clientdataset.addindex();
    然后,把此索引引入数据集,方法是:
       clientdataset.indexname:=上面创建的索引。
      

  11.   

    我刚做好一个关于TClientDateSet排序的例子
    你留下个地址我发给你
      

  12.   

    我的地址是:
    [email protected]不胜感激。