在GWT中插入和删除列时,如何解决列排序问题?

在GWT中插入和删除列时,如何解决列排序问题?,gwt,gwtp,celltable,Gwt,Gwtp,Celltable,我有一个cellTable,它有许多列,如下所示: OrderID - OrderDate - OrderTime - Name ..... 1 - 2012-01-05 - 11:12:12 - Tom...... 但如果我同时隐藏orderID和OrderDate,然后取消隐藏OrderDate,则会是这样: OrderID - OrderTime - Name ..... 1 - 11:12:12 - Tom...... OrderTime - OrderDate - Name .....

我有一个
cellTable
,它有许多列,如下所示:

OrderID - OrderDate - OrderTime - Name ..... 1 - 2012-01-05 - 11:12:12 - Tom...... 但如果我同时隐藏orderID和OrderDate,然后取消隐藏OrderDate,则会是这样:

OrderID - OrderTime - Name ..... 1 - 11:12:12 - Tom...... OrderTime - OrderDate - Name ..... 11:12:12 - 2012-01-05 - Tom...... OrderTime-OrderDate-名称。。。。。 11:12:12-2012-01-05-汤姆。。。。。。 这是不对的,因为orderDate应该在orderTime之前。此cos I
insertColumn(1,orderDateColumn,“订单日期”)位于位置1(索引前)

你能想出解决这个问题的逻辑吗

  • 创建列
  • 为每列指定订单号:0、1、2等
  • 插入订单号为X的列时,查找表中订单号大于X的第一列。将此列插入其正前方
    是的,我确实像你说的那样,但它不是太简单,我们需要一个可见/不可见列数组。。。还有很多其他的事情,但关键是你说的。反正我已经修好了 OrderID - OrderTime - Name ..... 1 - 11:12:12 - Tom......
        getView().getOrderDateCheckBox().addClickHandler(new ClickHandler(){
    
            @Override
            public void onClick(ClickEvent event)       {   
                if(getView().getOrderDateCheckBox().getValue()){    
    
                    insertColumn(1, orderDateColumn,"Order Date");
                }
                else{
                    removeColumn(orderDateColumn);
                }
            }
    
        });
    
    OrderTime - OrderDate - Name ..... 11:12:12 - 2012-01-05 - Tom......