SWT 表格 为什么我删除的时候,表格中最后还剩下一行!?
代码如下:
int columns=table.getColumns().length;
for (int i = 0; i< columns; i++) {
table.getColumns()[table.getColumnOrder()[0]].dispose();
}
TableItem item = null;
String sql1="select * from cpu";
String[] heads = { "产品名称", "品牌","价格", "倍频" };
for (int i = 0; i < heads.length; i++) {
TableColumn col = new TableColumn(table, SWT.NONE);
col.setText(heads[i]);
}
ResultSet rs1=DBConnect.makeResultSet(sta, sql1);
try {
while(rs1.next()){
item = new TableItem(table, SWT.None);
item.setText(new String[] { rs1.getString("cpu_name"), rs1.getString("cpu_brand"),rs1.getString("cpu_price"),rs1.getString("cpu_bf") });
}
} catch (SQLException e1) {
e1.printStackTrace();
}
table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
table.setHeaderVisible(true);
table.setLinesVisible(true);
for (int i = 0; i < heads.length; i++) {
table.getColumns()[i].pack();
}
item.dispose();
}
------解决方案--------------------
循环一下table.getItems[],每个dispose
其实如果你表的列是不变的话,column是不必dispose的