Office (2008) 용 Visual Studio Tools를 사용하여 Excel 2007 추가 기능을 개발 중입니다. 하나의 시트에 여러 개의 ListObject가 있는데, 시작시 데이터 테이블에 바인딩됩니다. 바인딩되면 올바르게 자동 크기 지정됩니다..NET - Excel ListObject가 데이터 바인딩에서 자동 크기 조정
문제는 다시 바인딩 될 때 발생합니다. 리본 바에 사용자 정의 버튼이있어 데이터베이스로 돌아가서 사용자가 입력 한 몇 가지 기준에 따라 다른 정보를 검색합니다. 이 새로운 데이터는 다시 와서하고 ListObjects에 다시 바인딩 - 그러나,이 시간이 그들이 크기가 조정되지 않으며 나는 예외가 얻을 :
ListObject가 그 가 데이터에 맞게 크기를 조정할 수 없기 때문에 바인딩 할 수 없습니다. ListObject가 새 행을 추가하지 못했습니다. 목록 개체의 아래쪽에서 개체를 이동할 수 없기 때문에이 문제가 발생할 수 있습니다.
내부 예외 : Microsoft.Office.Tools.Excel.FailureReason.CouldNotResizeListObject
나는 매우 의미있는 아무것도 찾을 수 없습니다 :
이유는 "범위 클래스의 삽입 방법은 실패" Google 또는 MSDN에서이 오류가 발생했습니다. 나는 이것을 잠시 동안 알아 내려고 노력했지만 아무 소용이 없다.
기본 코드 구조 :이 예외가 성장에만 ListObject가 축소 아닌 경우에도 발생
//at startup
DataTable tbl = //get from database
listObj1.SetDataBinding(tbl);
DataTable tbl2 = //get from database
listObj2.SetDataBinding(tbl2);
//in buttonClick event handler
DataTable tbl = //get different info from database
//have tried with and without unbinding old source
listObj1.SetDataBinding(tbl); <-- exception here
DataTable tbl2 = //get different info from database
listObj2.SetDataBinding(tbl2);
참고.