일부 데이터를 표시, 필터링 및 정렬하는 데 JXTable을 사용하고 있습니다. 그러나 정렬 할 때 예기치 않은 동작이 발생합니다. 보시다시피 값은 예상대로 오름차순이 아니며 문자열 정렬 방법을 정렬합니다.JXTable 잘못된 정렬
의견을 처리하기 위해이 열이 코드의 올바른 부분 (즉, Float.valueOf() 블록)에서 파싱되고 있다고 확신합니다. 디버깅을 통해이 사실을 알았습니다. 또한 jxtable의 헤더를 클릭하여 열을 정렬합니다. 나는 프로그래밍 방식으로하고 있지 않다.
나는 수레로 추가하고, 그냥 명확합니다 :
class FantasyProTableModel extends DefaultTableModel
{
void loadData() throws BiffException, IOException
{
Workbook workbook = Workbook.getWorkbook(new File("Input.xls"));
Sheet sheet = workbook.getSheet(0);
int numCols = sheet.getColumns();
for(int col=0;col<numCols;col++)
{
addColumn(sheet.getCell(col,0).getContents());
}
for(int rownum=1;rownum<sheet.getRows();rownum++)
{
Object[] row = new Object[numCols];
for(int col=0;col<numCols;col++)
{
try
{
row[col] = Float.valueOf(sheet.getCell(col,rownum).getContents());
//parseFloat() doesn't work either
}
catch(NumberFormatException e)
{
row[col] = sheet.getCell(col,rownum).getContents();
}
}
addRow(row);
}
workbook.close();
}
}
내가 올바른으로 정렬 할 수 할 수있는, 오름차순, 값?
당신은'TableModel'을 제공 할 수 있습니까? 그들은'String'으로 대접 받고 있습니다 ... – MadProgrammer
@MadProgrammer Updated. 내가 원래 가지고 있던 것은 시체였다. 이 클래스의 유일한 함수입니다. – dberm22
catch 절에 디버그 문을 추가하고 값이 올바르게 구문 분석되었는지 확인하십시오 ... – MadProgrammer