2012-04-27 3 views
0

내가이 DataRow를 입력 한 TypedDataRow합니다. 이제 난 할 노력하고있어 MainDataTable에 새 행을 추가하는 것입니다 : 나는 ClassCastException이납니다ClassCastException이 org.jdesktop.DataSet.DataRow는

MainDataTable dt = new MainDataTable(ds); 
MainDataRow dr = (MainDataRow) dt.appendRow(); 

. 문제가 어디에 있습니까? 감사. DataRow 개체가 아니라 MainDataRow 객체

public class TypedDataTable<TypeOfRow> extends DataTable { 
... 
} 

public class MainDataTable extends TypedDataTable<MainDataRow> { 
... 
} 
+0

'ManDataTable.appendRow()가'DataRow'를 반환한다고 가정하고 있습니다. 코드를 제공 할 수 있습니까? – amit

+0

네, 표준 org.jdesktop.dataset.DataTable입니다 (편집 됨) – Miquel

+0

답하십시오 http://stackoverflow.com/questions/10481515/casting-datarow-torongly-typed-datarow – Miquel

답변

0

appendRow() 반환 :

편집 MainDataTable는 appendRow()에 아무런 최우선으로 형식화 된 DataTable을합니다. 이것이 캐스트가 실패한 이유입니다. MainDataRow가 DataRow를 확장하기 때문에 그냥 수행하십시오.

MainDataRow dr = dt.appendRow(); 

그리고 여기에서 기능을 확장하십시오.

+0

이것은 * * 반환 값의 동적 타입 **은'MainDataRow'가 아니라'DataRow'입니다. – amit

+0

방금 ​​시도했지만 "형식 불일치 : DataRow에서 MainDataRow로 변환 할 수 없습니다" – Miquel

관련 문제