通过VSTO操作office很不错,不过就是绑定数据源的方式好像只有通过dateset,因为现在大的项目基本上都采用三层架构,而三层架构返回的都是list。如果我想绑定list该怎么操作呢?我想vsto应该有个DataSource 之类的属性可以绑定list吧。但是找了半天都没有发现这方面的资料。只好在这里请教各位啦

解决方案 »

  1.   

    自己解决问题啦
    默认情况下VSTO只能使用dataset来绑定数据库,但是我们三层架构返回的都是list。怎么办呢?我们可以变通的来解决这个问题。VSTO是可以绑定BindingSource。而BindingSource又可以绑定list。通过这样的转接就实现VSTO绑定list了。为了方便可以:
    1 在数据源面板中添加对象数据源,将model引入
    2 从数据源中将model拖入excel中。Model是不能自动得到数据的。但是拖入后系统会自动帮我们创建一个BindingSource。而且这个BindingSource还与界面中的每一个字段都绑定好了。
    3 我们在后台代码中加入
    base_UserMangeInfoBindingSource.DataSource
    = MES.BASE.BLL.Base_UserMangeBLL.SelectAll();
    通过bll将数据查询出来绑定到BindingSource。