zoukankan      html  css  js  c++  java
  • Ax Grid 的显示根据用户的需求动态排序。

    用按钮控制记录的上下移动

    点击方向按钮上下移动记录。

    设计思路。

    以临时表TmpTable1举例。

    在表中加一个real类型字段(eg:ColumnSeq)用于排序,给表建一个ColumnSeq字段的索引ColumnSeqIdx.

    在Form的数据源中设置index属性:ColumnSeqIdx. 这样Grid显示数据就会根据ColumnSeq排序。

    在form init 临时表数据时,ColumnSeq为一个累加值。

    当点击上移记录按钮的时候,倒序TmpTable1的ColumnSeq,大于当前行ColumnSeq,取前2个ColumnSeq和值除以2,

    用这个值更新当前移动行的ColumnSeq。 
    比如,当前行ColumnSeq(10),上2行=8+9,用(8+9)/2.0= 8.5,用8.5更新当前行则达到了实现排序的目的。

    void click()
    {
        // button move Up
         tmpTable1    tmp;
         real              newSeq;
         int                searchTimes;
         ;  
         tmp.settmpTable( tmpTable1 );
        
         while select tmp order by ColumnSeq Desc
              where tmp.ColumnSeq < tmpTable1.ColumnSeq
         {
              searchTimes++;
              newSeq += tmp.ColumnSeq;
              if( searchTimes>=2) break;
         }   
         
    
         if( searchTimes>=1)
         {
              newSeq  = newSeq /2.0;
              tmpTable1.ColumnSeq = newSeq;
              tmpTable1.update();
              tmpTable1_DS.executeQuery();
              tmpTable1_DS.refresh();
              tmpTable1_DS.findRecord(  tmpTable1);
    
         }
    }        
    View Code
  • 相关阅读:
    mysql 时间戳
    UTF8有BOM和无BOM
    php正则表达式
    二叉树的一些操作
    简单的Oracle触发器使用
    简单的Java调用Oracle存储过程
    Oracle知识关键字
    List和Set
    MyEclipse 快捷键
    Java零基础系列006——小测试(循环)
  • 原文地址:https://www.cnblogs.com/sxypeace/p/4616296.html
Copyright © 2011-2022 走看看