FlexData 行 上移 下移动,置顶,置底



private function orderDataGrid(evt:FilterOrderEvent):void
{
var selectedObj:Object = dg.selectedItem;
var selectIndex:int = dg.selectedIndex;
var tempObj:Object;
var dgData:ArrayCollection = ArrayCollection(dg.dataProvider);
if(evt.movePosition == FilterOrderEvent.FILTER_MOVE_UP && selectIndex > 0)
{
//上移
selectedObj.ORDER = String(selectIndex);
dgData.getItemAt(selectIndex - 1).ORDER = String(selectIndex+1);

dgData.addItemAt(selectedObj,selectIndex - 1);
dgData.removeItemAt(selectIndex + 1);
dg.selectedIndex = selectIndex;

}
else if(evt.movePosition == FilterOrderEvent.FILTER_MOVE_DOWN && selectIndex < dgData.length -1)
{
//下移
selectedObj.ORDER = String(selectIndex+2);
dgData.getItemAt(selectIndex + 1).ORDER = String(selectIndex+1);

dgData.addItemAt(selectedObj,selectIndex + 2);
dgData.removeItemAt(selectIndex);
dg.selectedIndex = selectIndex;

}
else if(evt.movePosition == FilterOrderEvent.FILTER_MOVE_TOP && selectIndex > 0)
{
//置顶
for(var i:int = 0; i <= selectIndex; i++)
{
tempObj = dgData.getItemAt(i);
tempObj.ORDER = String(i+2);
}
selectedObj.ORDER = "1"
dgData.addItemAt(selectedObj,0);
dgData.removeItemAt(selectIndex + 1);
dg.scrollToIndex(0);
dg.selectedIndex = 0;

}
else if(evt.movePosition == FilterOrderEvent.FILTER_MOVE_BUTTOM && selectIndex < (dgData.length - 1))
{
//置底
for(var j:int = selectIndex; j < dgData.length; j++)
{
tempObj = dgData.getItemAt(j);
tempObj.ORDER = String(j);
}
selectedObj.ORDER = String(dgData.length);

dgData.addItemAt(selectedObj,dgData.length);
dgData.removeItemAt(selectIndex);
dg.scrollToIndex(dgData.length-1);
dg.selectedIndex = dgData.length-1;
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端实现上移下移置顶置底需要使用 JavaScript 来操作 DOM 元素。 具体实现可以参考以下代码: ```html <ul id="list"> <li>列表项1</li> <li>列表项2</li> <li>列表项3</li> <li>列表项4</li> <li>列表项5</li> </ul> <button onclick="moveUp()">上移</button> <button onclick="moveDown()">下移</button> <button onclick="moveTop()">置顶</button> <button onclick="moveBottom()">置底</button> ``` ```javascript // 获取列表元素和当前选中的项 var list = document.getElementById("list"); var selectedItem; // 上移操作 function moveUp() { if (selectedItem) { var prevItem = selectedItem.previousElementSibling; if (prevItem) { list.insertBefore(selectedItem, prevItem); } } } // 下移操作 function moveDown() { if (selectedItem) { var nextItem = selectedItem.nextElementSibling; if (nextItem) { list.insertBefore(nextItem, selectedItem); } } } // 置顶操作 function moveTop() { if (selectedItem) { list.insertBefore(selectedItem, list.firstChild); } } // 置底操作 function moveBottom() { if (selectedItem) { list.appendChild(selectedItem); } } // 监听列表项点击事件,记录当前选中的项 list.addEventListener("click", function(e) { selectedItem = e.target; }); ``` 这段代码实现了一个简单的列表操作,通过点击按钮可以实现上移下移置顶置底等操作。需要注意的是,这里的操作只是在前端进了 DOM 元素的移动,如果需要将这些操作的结果保存到后端,还需要进相应的 AJAX 请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值