如何从表中获取值并设置为SWT中的列表?

时间:2012-11-01 06:29:30

标签: java swt

我有一个包含3列的表,比如类型,名称和值。

例如,我的表格具有以下值:

Type     Name    Value
+++++++++++++++++++++++
Int       id       0
String   name     null

如何从表格中获取这些值并设置为列表。


TableItem[] items = voTable.getItems();

List<VogenBean> lstTableValue = new ArrayList<VogenBean>();
    for (int i = 0; i < items.length; i++) {

        System.out.println("Items length--" + items.length);
        VogenBean bean = new VogenBean();
        bean.setClassName(domainName);
        bean.setAttrName(typeLabel.getText());
        bean.setMethodName(nameLabel.getText());
        bean.setAttrInit(valueLabel.getText());
        /*
         * tableValue = domainName + ":" + typeLabel.getText() + ":" +
         * nameLabel.getText()+":"+valueLabel.getText();
         * System.out.println("Value--"+tableValue);
         */
        lstTableValue.add(bean);
    }

    for (Iterator iterator = lstTableValue.iterator(); iterator.hasNext();) {
        VogenBean vo = (VogenBean) iterator.next();
        System.out.println("Class Name--" + vo.getClassName());
        System.out.println("Attr Name--" + vo.getAttrName());
        System.out.println("Method Name--" + vo.getMethodName());
        System.out.println("Attr Init--" + vo.getAttrInit());

    }

    return lstTableValue;

这是我的代码。我只得到表中的最后一个字段。请帮忙。

1 个答案:

答案 0 :(得分:1)

如果您想根据选择获取表格中某一行的值,可以使用Table#getSelection()。如果您使用TableViewer,则必须执行TableViewer#getSelection()

但是如果你想迭代表并获得所有值,只需使用Table#getItems()。每个项目都是TableItem,您可以使用TableItem#getText(int columnIndex)获取每列的值。

这会回答你的问题吗?