各位仁兄,我现在想通过两个按钮实现整条记录移动位置,比如某条记录的索引值为5,移动后变为4或6,就是不在原来的位置了,而不是单单的指针移动位置,大家一定要搞懂我的意思~~~

解决方案 »

  1.   

    就是把DBGrid中的一条记录,整体向下或向上移动位置
      

  2.   

    1.首先建立一个临时表(和dbgrid1对应表结构相同)用于存储从dbgrid1选中的记录,并通过数据源和dbgrid2连接起来;   
      2.利用dbgrid1.SelectedRows属性   
      begin   
          if   DBGrid1.SelectedRows.Count>0   then   
              with   DBGrid1.DataSource.DataSet   do   
                  for   i:=0   to   DBGrid1.SelectedRows.Count-1   do   
                  begin   
                      GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));   
                      for   j   :=   0   to   FieldCount-1   do   
                      begin   
                          s:=Fields[j].AsString;   
                          处理!   
                      end;   
                  end;   
      end;
      

  3.   

    ls正解,重新排序,然后刷新显示,OK
      

  4.   

    在DBGrid中显示出来的记录顺序是乱的,我现在就是想通过两按纽移动达到我想要的顺序,库是我从VFP里导到SQL中的有3万多条记录,我不明白如何加索引字段,空值是赋不进去的
    在"向上移动','向下移动'里加什么代码 ,brightyang(伊莎贝尔)你那一段我看不大明白
      

  5.   

    GotoBook(pointer(DBGrid1.SelectedRows.Items[i])); // ?? 不明白
                      for   j   :=   0   to   FieldCount-1   do   
                      begin   
                          s:=Fields[j].AsString;  //?? 不明白
                          处理!//??  不明白 
                      end; 
    大家看看有没有什么简单的方法,谢谢了