添加删除

原型:
一张表,要求实现可以动态的增加和删除一行,删除要求标记删除。
表的node来源于Componments_List.

解决思想:
在Componments_List节点里增加一个新的节点delete_Ind,boolean型。新建一个节点C_Componments_List和Componments_List节点内容一致,在界面显示利用Componments_List节点,删除前,标记delete_Ind值为true,同时在C_Componments_List里新建节点将之copy到C_Componments_List里,然后在Componments_List节点里将之删除.
保存时,再将C_Componments_List节点的内容完全copy到C_Componments_List节点里,传给r/3.

具体实现(片段):
//增加一行
public void onActionAddItems(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
{
//@@begin onActionAddItems(ServerEvent)
IComponments_ListNode node = wdContext.nodeComponments_List();
node.addElement(node.createComponments_ListElement(new Zjxeppm_Tab05()));
//@@end
}

//删除一行
public void onActionDelItems(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
{
//@@begin onActionDelItems(ServerEvent)
IComponments_ListNode node = wdContext.nodeComponments_List();
IC_Componments_ListNode Cnode = wdContext.nodeC_Componments_List();
if (node.currentComponments_ListElement() != null) {
IC_Componments_ListElement item = Cnode.createC_Componments_ListElement();
WDCopyService.copyCorresponding(node.currentComponments_ListElement(),item);
item.setDelete_Ind(true);//mark to delete.
Cnode.addElement(item);
node.removeElement(node.currentComponments_ListElement());
}
//@@end
}

//保存
IComponments_ListNode node = wdContext.nodeComponments_List();
IC_Componments_ListNode Cnode = wdContext.nodeC_Componments_List();
input.setAction_Type((node.size() > 0) ? "U" : "N");
//copy corresponding context to componments_List
for(int i = 0;i<Cnode.size();i++){
IComponments_ListElement item = node.createComponments_ListElement(new Zjxeppm_Tab05());
WDCopyService.copyCorresponding(Cnode.getC_Componments_ListElementAt(i),item);
node.addElement(item);
}

for (int i = 0; i < node.size(); i++) {
Zjxeppm_Tab05 tab05 = new Zjxeppm_Tab05();
WDCopyService.copyCorresponding(node.getComponments_ListElementAt(i), tab05);
input.addComponments_List(tab05);
}


......
input.execute();
......
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值