我有一张目前有11列的表格。 随着程序的发展,我发现自己需要添加更多列。
我这样做的问题是,如果我在第5位添加一个新列,我需要更改在第6,7,8列等中设置数据的代码。
我以这种方式设置列标题:
String[] titles = { "Date", "Condition", "Weight", "Pos", "Distance",
"Margin", "Time", "200m", "PIR", "Jockey", "Track" };
for (int i = 0; i < titles.length; i++) {
TableColumn column = new TableColumn(table, SWT.NONE);
column.setText(titles[i]);
}
所以目前我正在做:
item.setText(0, meetingDate[i]);
item.setText(1, trackCondition[i]);
item.setText(2, weight[i]);
item.setText(3, position[i]);
我想做的是这样的事情:
item.setText(colMeetingdate, meetingDate[i]);
item.setText(colTrackCond, trackCondition[i]);
item.setText(colWeight, weight[i]);
item.setText(colPos, position[i]);
是否有标准方式来命名/引用列?
答案 0 :(得分:3)
没有内置方法可以做到这一点。我能想到的最简单的解决方案是将列标题保留在List
(让我们称之为tableHeaders
)并根据需要插入/删除。
要获取索引,请执行以下操作:
int index = tableHeaders.indexOf("headerString");
if(index != -1)
item.setText(index, blabla[i]);
此解决方案假定用户无法对表列重新排序。