问题描述
我在画面的初始化中用以下代码绑定gridviewDataTabledtRptInfo=newDataTable();dtRptInfo=select(strUser,strYear,strMonth);this.gvProcessingList.DataSource=dtRptInfo;this.gvProcessingList.DataBind();以上绑定成功,没有任何问题,我现在想在其他事件中获取这个gridview所绑定的数据源,但是不行,代码如下://这是在点击gridView行标题时用的取法,但是不行DataTabledv=(DataTable)((GridView)sender).DataSource;另外就是直接DataTabledv=(DataTable)gvProcessingList.DataSource;但是也是不行,都没有取到,dv都是为null,我在WinForm都是没有问题的,忘高手帮忙解决以下,谢了先!!!
解决方案
解决方案二:
dv都是为null,数据就是没有取出来。你的库里确定有数据吗?
解决方案三:
不同的事件sender所指不同。要用个this或parent引用根据层级关系或用findcontrol
解决方案四:
画面显示是有数据的。而且断点调试的时候,这个gvProcessingList的gridviewRows的条数是和画面一致,列数也是一致,但是就是取不到数据源。在winform的画面中,这种取法是没有问题的。所以不知道原因所在。
解决方案五:
引用问题,请楼主仔细考虑我的回答。
解决方案六:
我是点击gridview的标题事件中获取的,所以sender是gridview,这应该没有什么问题的!
解决方案七:
DataSettt=this.GridView1.DataSourceasDataSet;DataTablettt=tt.Tables[0];DataRowtrow=ttt.NewRow();inttrc=trow.ItemArray.GetLength(0);这样取,肯定可以
解决方案八:
窗体回发后datasource已经不存在使用静态全局变量
解决方案九:
将数据源存到viewstate中代码中修改数据源从里面取出来,然后重新绑定gridview,我现在用的这种办法,正在寻找其他更简单的办法,无需重新绑定。。。。,找了好几天了没解决