现在在每个TabPage页上添加一个DataGridView,手动获取数据源中数据
发现TabPage切换后,显示的数据跟着消失了,要再次触发获取数据事件才能显示数据
请问有什么办法能一次获取数据,一直显示在DataGrideView中,切换TabPage也不会消失

解决方案 »

  1.   

    嗯,是先把数据获取到一个DataTable中,然后赋给DataGridView.DataSource……
      

  2.   

    按理来说,DataGridView数据绑定之后数据不会消失的啊,你可以从下以几方面去检查:
    1.窗体构造函数里要完成所有DataGridView的初始化
    2.手动获取(绑定)DataGridView的DataSource之后,不要再次初始化DataGridView,也就是不要重新new一次
    3.数据消失,是不是你哪里引起了数据源的变动,比如数据连接断开,刚好你又重新指定了数据绑定
      

  3.   

    顶3楼。感觉还是你应该重新初始化过datagridview了吧。要么就是在程序中你手动创建的datagridview。然后绑定数据的时候搞混了吧
      

  4.   

    应该是不会消失的,你自己debug调试以下看看数据源是在什么时候被清掉的,或者绑定在什么时候被取消的.
    其实贴上代码,比较能说明问题.
      

  5.   

    DataGridView绑定的了数据是不会消失的,你检查下是否消除了DataGridView的值
      

  6.   

    消失的原因是因为你绑定的对应datatable被清空了,将datatable放进缓存,在别的页面将datatable从缓存提取出来,在绑定一次。
      

  7.   

       Cache.Insert("dtjisuang", ds_dt_play);放进缓存
        DataSet ds = (DataSet)Cache["dtjisuang"];取出来
      

  8.   

    不好意思,没说完,
    获取数据事件放在每个TabPage中的,TabPage切换事件只包含了表列头部分