none
如何在wpf中显示excel数据,支持数据滚动 RRS feed

  • 问题

  • 希望可以在wpf中显示excel数据,需求是能自动滚动,或者翻页,就像银行利率滚动那样.也可是嵌入浏览器页面,

    环境:win7,xp, .net4.office 2007

    谢谢

    2011年11月14日 14:37

答案

  • 这个可能你还没有真正理解WPF 中的ItemsControl的含义,一个DataGrid是一个ItemsControl。我们直接Add Item到DataGrid中,是不会让DataGrid用DataRow去承载Item里面的每一个属性,除非我们先预先增加了列并且做了绑定,然后Add Item到这个DataGrid绑定的 ItemsSource中,如果你是要直接Add Item到DataGrid,你必须要Add GridRow对象,而不是直接一个Item对象。

    我在这篇帖子里面提到了一点关于DataGrid动态加载的概念,你阅读下: http://social.msdn.microsoft.com/Forums/zh-CN/wpfzhchs/thread/69ac1292-9512-4bd3-b691-795f64cb0aa0/

    还有这里我也有一些说明:http://social.msdn.microsoft.com/Forums/zh-CN/wpfzhchs/thread/28738389-21ec-46ee-96e7-f39ff78614ee/

    我希望你能够把 DataTable里面的数据按照你的要求放入 一个Collection中去,然后将这个Collection绑定到DataGrid上,最后你只需要通过代码Add Item到这个Collection中就可以了。而且这样的绑定,DataGrid还是会支持自动生成列的。

    Sincerely,


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    • 已标记为答案 xyzdumpling 2011年11月17日 12:06
    2011年11月17日 7:37
    版主
  • 嗯,回头看看,不过现在用第二种方法解决了.

    每隔一秒

    var row = datatable.rows[0];
    datatable.importrow(row);
    datatable.rows.removeat(0);
    datagrid.itemssources = datatable.defaultview;
    
    这样就达到自动滚动的效果了.但是也知道这样赋值效率不高.
    
    感谢帮助.
    
    <br/>
    

     

    • 已标记为答案 xyzdumpling 2011年11月17日 12:06
    2011年11月17日 12:05

全部回复