将附件以table列表的形式展示,并提供下载功能

1、需要在页面加载时绘制table控件,并填充数据

2、需要在特定的单元格进行监听事件,用来进行下载功能

protected void kDTable1_tableDataRequest(KDTDataRequestEvent e)
			throws Exception {
		// TODO Auto-generated method stub
		super.kDTable1_tableDataRequest(e);
		KDTable table = this.kDTable1;
		table.getStyleAttributes().setLocked(true);
		//表头
		for(int i=0;i<3;i++){
			table.addColumn();
			table.getColumn(i).setWidth(120);
		}
		IRow row1 = table.addHeadRow(0);
		row1.getCell(0).setValue("序号");
		row1.getCell(1).setValue("附件名称");
		row1.getCell(2).setValue("上传日期");
		//附件
		String boId = null;
        if(editData.getId() == null)
            return;
        boId = editData.getId().toString();
        //List attachmentList = AttachmentUtils.getAttachmentListByBillID(boId);
        AttachmentClientManager ac = AttachmentManagerFactory.getClientManager();
        String strs[] = ac.getAttachmentIDsByBoID(boId);
        System.out.println("attchment.id:"+Arrays.toString(strs));
        int n = 0;
//        if(attachmentList != null){
//        	n = attachmentList.size();
//        }
        if( strs != null ){
        	n = strs.length;
        }
		//内容
		IRow row;
		for(int i=0;i<n;i++){
			row = table.addRow(i);
			AttachmentInfo atInfo = AttachmentFactory.getRemoteInstance().getAttachmentInfo(new ObjectUuidPK(strs[i]));
			for(int j=0;j<3;j++){
				if(j == 0){
					row.getCell(j).setValue(i+1);
				}else if(j == 1){
		            row.getCell(j).setValue(atInfo.getName());
				}else{
					row.getCell(j).setValue(atInfo.getCreateTime());
				}
			}
		}
		table.addKDTMouseListener(new KDTMouseListener(){
			public void tableClicked(KDTMouseEvent e) {
				// TODO Auto-generated method stub
				String boId = editData.getId().toString();
				if(e.getClickCount() == 1){
					if(e.getColIndex() == 1){
						AttachmentClientManager ac = AttachmentManagerFactory.getClientManager();
						try {
							String strs[] = ac.getAttachmentIDsByBoID(boId);
							System.out.println("-----str:"+strs[e.getRowIndex()]);
							downloadAttachment1(strs[e.getRowIndex()]);
							//downloadAttachment(strs[e.getRowIndex()], "D:\\");
						} catch (BOSException e2) {
							// TODO Auto-generated catch block
							e2.printStackTrace();
						} catch (Exception e2) {
							// TODO Auto-generated catch block
							e2.printStackTrace();
						}
				}
				}
			}
		});
	}


 

private void downloadAttachment1(String attchID){
		AttachmentClientManager ac = AttachmentManagerFactory.getClientManager();
        try {
			ac.downloadAttachment(attchID,this);
			System.out.println("---down:");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}  


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值