当前位置:  开发笔记 > 编程语言 > 正文

.NET - Excel ListObject在数据绑定上自动调整大小

如何解决《.NET-ExcelListObject在数据绑定上自动调整大小》经验,为你挑选了0个好方法。

我正在使用Visual Studio Tools for Office(2008)开发Excel 2007加载项.我有一张包含多个ListObjects的工作表,它们在启动时绑定到数据表.当它们被绑定时,它们会正确自动调整大小.

他们被重新绑定时会出现问题.我在功能区栏上有一个自定义按钮,它返回到数据库,并根据用户输入的某些条件检索不同的信息.这个新数据返回并重新绑定到ListObjects - 但是,这次它们没有调整大小并且我得到一个异常:

无法绑定ListObject,因为无法调整其大小以适合数据.ListObject无法添加新行.这可能是由于无法移动列表对象下方的对象而引起的.

内部异常:"Range类的插入方法失败"
原因:Microsoft.Office.Tools.Excel.FailureReason.CouldNotResizeListObject

我无法在Google或MSDN上找到关于此错误的任何有意义的内容.我一直试图弄清楚这一点,但无济于事.

基本代码结构:

//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);

请注意,即使ListObject正在缩小,并且不仅在它增长时,也会发生此异常.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有