2

私は SWT が初めてで、そのテーブル ウィジェットを使用する必要があります。データベースにクエリを送信すると、テーブルが作成されます。このsetText()関数は、文字列の新しい配列または文字列のみを受け取ります。列の数に関係なく、行を表示するにはどうすればよいですか。これは私のコードです:

try{

ResultSet getTable=dbconnect.connect.createStatement().executeQuery("select * from Status");
ResultSetMetaData md = getTable.getMetaData();
int columns = md.getColumnCount();
for (int i = 1; i <= columns; i++) {
tblclmnNewColumn = new TableColumn(table, SWT.NONE);
tblclmnNewColumn.setWidth(100);
tblclmnNewColumn.setText(md.getColumnName(i));
columnNames.add( md.getColumnName(i));

}

for(int i=0;i<columnNames.size();i++){
String set;
if(i==columnNames.size()-1){
set="getTable.getString"+"("+'"'+columnNames.get(i)+'"'+")";
}else{                  
set="getTable.getString"+"("+'"'+columnNames.get(i)+'"'+")"+",";
                    }
columsresultset.add(set);
element[i]=columsresultset.get(i);

System.out.println(columsresultset.get(i)); 
                }
String elements[]=new String[columsresultset.size()];
while (getTable.next()) {
TableItem tableItem =(TableItem) new TableItem(table, SWT.NONE);
tableItem.setText(elements);                         
}
4

1 に答える 1

1

を使ってみてはいかがでしょうかsetText(yourDatabaseColumnIndex - 1, yourDatabaseColumnValue)。もちろんTableColumn、コードで行ったのと同じように、とにかく を作成する必要があります。例:

while(resultSet.next())
{
    TableItem tableItem = new TableItem(table, SWT.NONE);
    for(int i = 1; i <= resultSet.getMetaData().getColumnCount(); i++)
    {
        tableItem.setText(i-1, resultSet.getString(i));
    }
}

私が何かを見逃していないという保証はありませ;ん。また、列数を変数に書き込むことで、これを少し最適化できます。{;-)

于 2013-08-02T09:46:44.503 に答える