我有一个需求,点击某按钮后会弹出一个窗口,显示的是一个列表(类似GridView),应用过程中有用户有可能需要调整列表里各行的上下顺序,如果要实现这种需求最好用什么控件?有什么要注意的吗?

解决方案 »

  1.   


    用treeview,交换节点很方便
      

  2.   

    ListBox 就方便实现数据移动
    unction UpOrDownOption(Sel,direction)
    {
       var Op=Sel.options;
       var selectedNub=0;
       for(var i=0;i<Op.length;i++)
       {
          if(Op[i].selected)
          {
             selectedNub++;
          }
       }
       if(selectedNub==0)
       {
          alert("请选择一项!");
          return;
       }
       if(selectedNub>1)
       {
          alert("只能选择一项!");
          return;
       }
       i=Sel.selectedIndex;
       var selectedOp=document.createElement("option");
          selectedOp.text=Op[i].text;
          selectedOp.value=Op[i].value;
          selectedOp.selected=true;
          
          if(direction=="up")
          {
          if(i!=0)
       {
          Sel.options.add(selectedOp,i-1);
             Sel.options.remove(i+1);
       }
             
          }
          if(direction=="down")
          {
          if(i!=Op.length-1)
          {
             Sel.options.add(selectedOp,i+2);
             Sel.options.remove(i);
             }
          }
       
    }
      

  3.   

    treeview不能够显示很多列吧?在用户提交后,顺序的修改是需要考虑到数据库的更新问题
      

  4.   

    那在移动过程后 更新数据库需要从新设置ID?要不设置ID 就让他在前台随便移动呗。然后在批量更新数据库。如果要更新移动之后的数据状态,那还要在数据库里加个字段来标识排序?