求教大佬如何用swt在原来的表格基础上给每一个表格后加上一个输入框

chenad0912 2017-12-11 05:10:17





public class ATSIOSDispTableFPsellKYPView extends ATSDispTableView{

/**
*
*/
private static final long serialVersionUID = -4145821644690393999L;

/**
* 注册
*/
public static void register() {

}

/**
* 构造方法
*/
public ATSIOSDispTableFPsellKYPView() {
super();
}

/**
* 单选框集合
*/
private List<Button> radioList;

/**
* 表格控件
*/
private ATSIOSPagedScrollBarContainer pagedControl = null;

/**
* 表头区域
*/
private Composite cmpTop;

/**
* 表头控件
*/
private List<ATSLabel> labelList;

/**
* 当前页的索引
*/
private int pageIndex = 0;

private Map<String, Integer> ColumnIndexMap = null;

@Override
public void onButtonNextMouseDown() {
super.onButtonNextMouseDown();
}

@Override
public void onButtonPrevMouseDown() {
ATSSessionContext.getServiceSession().setParam("NEXT_BUTTON_SHOW", 1);
super.onButtonPrevMouseDown();
}

@Override
protected ATS3DBlueWhiteATSWizardViewControl createSWTViewControl(Composite parent) {

List<TableData> list=new ArrayList<TableData>();
list=getTableDataSet().getTableDataList();
for(int i=0;i<list.size();i++){
for(int j=0;j<list.get(i).getRows().size();j++){
LJGPJE=Double.valueOf(list.get(i).getRows().get(j).getCell("LJGPJE").toString());
SYGPJE=Double.valueOf(list.get(i).getRows().get(j).getCell("SYJE").toString());
}

}

viewControl = new ATS3DBlueWhiteATSWizardViewControl(parent,
SWT.None);
ATS3DBlueWhiteATSWizardViewControl viewCtrl = (ATS3DBlueWhiteATSWizardViewControl) viewControl;
StringBuilder sb = new StringBuilder();
sb.append("1、定额发票核定月累计购票金额为:【" + LJGPJE
+ "】元,可领用剩余金额为:【" + SYGPJE
+ "】元。");
sb.append("2、本次领用定额发票:(每本份数*领用本数*面额)必须小于等于可领用剩余金额。");
viewCtrl.setTipsContent(sb.toString());

viewCtrl.createOptionStep(getWizardDataSet(), getWizardIndex());

if (TextUtil.isNotEmpty(getButtonPrevImagePath())) {
viewControl.getButtonPrev().setImage(
SWTResourceManager.getImage(
ATSBGLeftWizardDispTableView.class,
getButtonPrevImagePath()));
viewControl.getButtonPrev().setHoverImage(
SWTResourceManager.getImage(
ATSBGLeftWizardDispTableView.class,
getButtonPrevImagePath()));
}
if (!getIsNeedShowButtonPrev()) {
viewCtrl.getButtonPrev().setVisible(false);
}
if (TextUtil.isNotEmpty(getButtonNextImagePath())) {
viewControl.getButtonNext().setImage(
SWTResourceManager.getImage(
ATSBGLeftWizardDispTableView.class,
getButtonNextImagePath()));
viewControl.getButtonNext().setHoverImage(
SWTResourceManager.getImage(
ATSBGLeftWizardDispTableView.class,
getButtonNextImagePath()));
}
if (!getIsNeedShowButtonNext()) {
viewCtrl.getButtonNext().setVisible(false);
}

createViewInnerControl(viewCtrl.getCompositeClient());
return viewCtrl;
}

@PostConstruct
protected void createViewInnerControl(Composite parent) {
labelList = null;
radioList = new ArrayList<Button>();

GridLayout gl_parent = new GridLayout(1, false);
gl_parent.marginHeight = 0;
parent.setLayout(gl_parent);
Composite cmpBg = new Composite(parent, SWT.None);
cmpBg.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
GridLayout gl_cmpBg = new GridLayout(1, false);
gl_cmpBg.marginHeight = 0;
gl_cmpBg.marginWidth = 0;
cmpBg.setLayout(gl_cmpBg);

if (getTableDataSet() == null
|| getTableDataSet().getTableDataList() == null
|| getTableDataSet().getTableDataList().size() == 0) {
viewControl.getLabelTipsMessage().setText("抱歉没有相关的信息");
return;
}


if (getTableDataSet().getTableDataList().get(0)
.getTableHeadFormDataSet() != null
&& getTableDataSet().getTableDataList().get(0)
.getTableHeadFormDataSet().getFormDataList() != null
&& getTableDataSet().getTableDataList().get(0)
.getTableHeadFormDataSet().getFormDataList().size() > 0) {

cmpTop = new Composite(cmpBg, SWT.NONE);
GridLayout gl_cmpTop = new GridLayout(2, false);
gl_cmpTop.horizontalSpacing = 0;
gl_cmpTop.verticalSpacing = 0;
gl_cmpTop.marginWidth = 0;
gl_cmpTop.marginHeight = 0;
cmpTop.setLayout(gl_cmpTop);
GridData gd_composite = new GridData(SWT.FILL, SWT.CENTER, true,
false, 1, 1);
gd_composite.heightHint = 25;
cmpTop.setLayoutData(gd_composite);
}

pagedControl = new ATSIOSPagedScrollBarContainer(cmpBg, SWT.NONE);
pagedControl.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true,
1, 1));
GridLayout gridLayout = (GridLayout) pagedControl.getLayout();
gridLayout.verticalSpacing = 3;

pagedControl.getCompositeClient().setLayout(
new FillLayout(SWT.HORIZONTAL));
pagedControl.getButtonUpPage().addSelectionListener(
new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
pageUp();
}
});
pagedControl.getButtonDownPage().setImage(SWTResourceManager.getImage(ATSIOSDispTableView.class,
"list-nextpage.png"));
pagedControl.getButtonUpPage().setImage(SWTResourceManager.getImage(ATSIOSDispTableView.class,
"list-uppage.png"));
pagedControl.getButtonDownPage().addSelectionListener(
new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
pageDown();
}
});
pagedControl.getButtonDownPage().setHoverImage(SWTResourceManager
.getImage(ATSIOSDispTableView.class,"list-nextpage.png"));
pagedControl.getButtonUpPage().setHoverImage(SWTResourceManager
.getImage(ATSIOSDispTableView.class,"list-uppage.png"));
pagedControl.getButtonUpPage().setBackground(null);
pagedControl.getButtonDownPage().setBackground(null);
pagedControl.layout();
pagedControl.setSize(780, 550);

pageIndex = 0;
if (getTableDataSet().getTableDataList().size() > 0) {
totalPage = getTableDataSet().getTableDataList().size();
}
setControlStatus();

}

protected void createTable() {
ColumnIndexMap = new HashMap<String, Integer>();
if (table != null && !table.isDisposed()) {
table.dispose();
}
table = new ATSScrollableTable(pagedControl.getCompositeClient(),
SWT.NONE | SWT.FULL_SELECTION);
table.getTable().setFont(
SWTResourceManager.getFont("微软雅黑", 12, SWT.NORMAL));
table.getTable().setHeaderVisible(false);
table.getTable().setBackground(
SWTResourceManager.getColor(238, 238, 238));
table.getTable().setItemHeight(getTableGridInfo().getRowHeight());
int tableWidth = 0;
int ColumnIndex = 0;
for (TableGridColumnInfo gc : getTableGridInfo()
.getTableGridColumnInfoList()) {
if (!gc.getVisible()) {
continue;
}

if (getTableDataSet() != null
&& getTableDataSet().getTableDataList() != null
&& getTableDataSet().getTableDataList().size() > 0
&& getTableDataSet().getTableDataList().get(0) != null) {
TableData tableData = getTableDataSet().getTableDataList().get(
0);
ColumnData columnData = tableData.getColumns().getItem(
gc.getDataPropertyName());
if (gc.getControlType().equals("Label") && columnData == null) {
continue;
}
}

ATSTableColumn clmName = new ATSTableColumn(table.getTable(),
SWT.NONE);
clmName.setResizable(false);
clmName.setFont(SWTResourceManager.getFont("微软雅黑", 18, SWT.NORMAL));
clmName.setAlignment(SWT.CENTER);
clmName.setWidth(gc.getColumnWidth());
tableWidth += gc.getColumnWidth();
clmName.setText(gc.getCaption());

ColumnIndexMap.put(gc.getDataPropertyName(), ColumnIndex);
ColumnIndex++;
}
table.createColumns();

table.setHeaderHeight(getTableGridInfo().getColumnHeaderHeight());

table.setIsHorizontalScale(true);
table.getTable().setSize(tableWidth, 100);

}
protected void setControlStatus() {
createTable();
if (pageIndex <= 0) {
pagedControl.getButtonUpPage().setEnabled(false);
} else {
pagedControl.getButtonUpPage().setEnabled(true);
}
if (pageIndex >= totalPage - 1) {
pagedControl.getButtonDownPage().setEnabled(false);
} else {
pagedControl.getButtonDownPage().setEnabled(true);
}
pagedControl.getLabelPageInfo().setText(
String.format("第%d页/共%d页 共%d条记录", pageIndex + 1, totalPage,
getTableDataSet().getTableDataList().get(pageIndex).getRows()
.size()));
if (totalPage > 0) {
bindData();
}
pagedControl.refreshPos();
}

/**
* 上一页
*/
protected void pageUp() {
pageIndex = Math.max(pageIndex - 1, 0);
setControlStatus();
}

/**
* 下一页
*/
protected void pageDown() {
pageIndex = Math.min(pageIndex + 1, totalPage);
setControlStatus();
}

private boolean CanGoNext() {
if (radioList != null && radioList.size() > 0) {
if (getSelectedRow() == null) {
setErrorMessage("请选择后才能点击下一步!");
return false;
}
}
return true;
}

/**
* 表格
*/
private ATSScrollableTable table;

/*********** 属性: 表格的信息 ***************/
/**
* 表格的信息
*
*/
private Object _TableGridInfo;

/**
* 获取表格的信息工厂 工厂对象:
*
* @return 表格的信息工厂
*/
@XmlElement(name = "TableGridInfo", type = Object.class)
@AddonField(name = "表格的信息", description = "", allowedTypes = { LinkedAsset.class }, elementType = TableGridInfo.class, typeFilterClass = AddonFilter.class)
public Object getTableGridInfoObject() {
return _TableGridInfo;
}

/**
* 设置表格的信息工厂 工厂对象:
*
* @param value
* 要设置的表格的信息工厂
*/
public void setTableGridInfoObject(Object value) {
_TableGridInfo = value;
firePropertyChangedEvent("TableGridInfo");
}

/**
* 获取表格的信息 对象:
*
* @return 表格的信息
*/
@XmlTransient
public TableGridInfo getTableGridInfo() {
return EntityUtil.createObjectByFactory(_TableGridInfo,
TableGridInfo.class);
}

/**
* 累计购票金额
*/
private double LJGPJE;

/**
* 剩余购票金额
*/
private double SYGPJE;

}
...全文
144 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧