이것은 JTable
바인딩을 사용한 두뇌 크래킹 경험입니다. 여기 내가 한 일이있다. JTable
열을 지정된 너비로 설정하고 renderers
을 사용하여 서식을 지정한 다음 일부 코드를 추가했습니다. 그러나 모델에 바인딩하려고하면 모든 열이 모델의 필드로 바뀌 었습니다. 올바르게 묶는 방법이 있습니까?JTable 모델을 설정하고 열 형식 (너비, 맞춤 등)을 보존합니다.
데이터베이스에 100 개 이상의 레코드가 있으므로 루프를 피할 수 있습니다. BeansBinding
및 EntityManager
과 같은 다른 방법을 사용하려고하지만 데이터 소스를 변경하는 방법을 모르겠습니다 (그 이유는 모델에 바인딩을 선택하기 때문입니다). 새 서버에 구현되었습니다.
이것은 내가 .Net
에서 한 것입니다. 저는 보통 datagridview를 만들고 데이터 집합에 바인딩하여 정상적으로 작동합니다. 하지만 난 그것을 자바에 적용 할 수 없다. Java에서 100 개 이상의 레코드를 처리 할 수있는 방법에 대한 의견이 필요합니다.
PreparedStatement pst = conn.prepareStatement("SQL Query here");
ResultSet rs = pst.ExecuteQuery();
jTable1.setModel(DbUtils.resultSetToTableModel(rs));
위의 코드는 잘 작동하지만 내 아주 아주 큰 문제는 모델의 열을 기준으로 내 서식이 열을 무시한다는 것입니다.
도와주세요.
이 DbUtils 당신에 의해 작성되어 완벽하게 작동 할 것인가? 직접 테이블 모델을 개발 했습니까? 이 경우 setResultSet (rs) 메서드를 추가하고 모델 이벤트를 트리거하여 테이블을 업데이트 할 수 있습니다. 아마도 열을 손상시키지 않을 것입니다. – dsboger
@dsboger 아니오, 실제로 여기에서 가져 왔습니다. http://technojeeves.com/joomla/index.php/free/59-resultset-to-tablemodel jar 파일입니다. –
resultSetToTableModel (rs)과 비슷한 updateTableModelFromResultSet (tModel, rs) 메서드를 만들 수 있지만 tModel.setDataVector (rows)를 호출하여 데이터를 업데이트합니다. 코드에 대한 도움이 필요하면 대답으로 바꿀 수 있습니다. – dsboger