各种各样的选中和行编辑问题

 

1.各种各样的选中,以及代码设置选中以及得到选中行的VO

 

nc里面表格的选中分二种,一种是基于table ,一种是基于billmodel.
基于table ,可以用来得到选中行,删除行,但不能用于得VO
1.
列表表头选中
getBillListPanel().getHeadTable().getSelectionModel().setSelectionInterval(0,1);
2.
列表表头选中
getBillListPanel().getBodyTable()().getSelectionModel().setSelectionInterval(0,1);
3.
卡片表头选中
getBillCardPanel().getBillTable().getSelectionModel().setSelectionInterval(0,1);
4.
设置选中样式
xx.getTable().setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); ========================================================================================

 

 

2. 这是基本于BIllModel,这种只有设置和可以多选以后才有意义,可以用来取行VO

1.
列表表头设置为选中
getBillListPanel().getHeadBillModel().setRowState(0, BillModel.SELECTED);
2.
列表表体设置为选中
getBillListPanel().getBodyBillModel().setRowState(0, BillModel.SELECTED);
3.
卡片设置选中
getBillCardPanel().getBillModel()().setRowState(0, BillModel.SELECTED);
4.
得到选择的VO数组
CircularlyAccessibleValueObject[] vos = getBillCardPanel().getBillModel().getBodySelectedVOs();
5.
得到特定行的VO
CircularlyAccessibleValueObject[] vos = getBillCardPanel().getBillModel().getBodyValueRowVO(int row, String bodyVOName);

 

 

 

 

3. 只有选中行可编辑的解决方法,当行可编辑
    @Override

 

    publicvoid bodyRowChange(BillEditEvent e) {

 

       // 修改的时候不能选中其他行,如果选择,则自动跳回编辑行

 

       int currow = getBillCardPanel().getBillTable().getSelectedRow();

 

       int editRow = getBillCardPanel().getBillTable().getEditingRow();

 

       if (getBillOperate() == IBillOperate.OP_EDIT && editRow >-1 && currow != editRow) {

 

           getBillCardPanel().getBillTable().setRowSelectionInterval(editRow, editRow);

 

           return;

 

       }

 

    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值