Tôi đang phát triển một bổ trợ Excel 2007 bằng cách sử dụng Visual Studio Tools for Office (2008). Tôi có một tờ với một số ListObjects trên nó, mà đang được ràng buộc để datatables khi khởi động. Khi chúng bị ràng buộc, chúng tự động xác định chính xác..NET - Excel ListObject tự động hóa trên databind
Sự cố xảy ra khi chúng được ràng buộc lại. Tôi có một nút tùy chỉnh trên thanh ribbon để quay trở lại cơ sở dữ liệu và truy xuất thông tin khác nhau dựa trên một số tiêu chí mà người dùng nhập vào. Dữ liệu mới này trở lại và được tái ràng buộc với ListObjects - tuy nhiên, lần này họ không được thay đổi kích cỡ và tôi nhận được một ngoại lệ:
ListObject không thể bị ràng buộc bởi vì nó không thể thay đổi kích cỡ để phù hợp với dữ liệu. ListObject không thể thêm hàng mới. Điều này có thể là do không thể di chuyển các đối tượng bên dưới đối tượng danh sách .
Nội ngoại lệ: "Phương pháp Insert của lớp Dải thất bại"
Lý do: Microsoft.Office.Tools.Excel.FailureReason.CouldNotResizeListObject
tôi đã không thể tìm thấy bất cứ điều gì rất có ý nghĩa về lỗi này trên Google hoặc MSDN. Tôi đã cố gắng tìm ra điều này một lúc, nhưng vô ích.
cấu trúc mã cơ bản:
//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);
Lưu ý rằng ngoại trừ điều này xảy ra ngay cả khi ListObject được thu hẹp lại, và không chỉ khi nó phát triển.