首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

DataTable dt =(DataTable) this.gridview.DataSource如何是null值

2013-09-28 
DataTable dt (DataTable) this.gridview.DataSource怎么是null值平时都是DataTable dt....//从数据库

DataTable dt =(DataTable) this.gridview.DataSource怎么是null值
平时都是
DataTable dt=....;//从数据库获取数据
this.gridview.datasource=dt;//把它绑定到gridview中。



现在我想应该能倒过来吧!DataTable dt =(DataTable) this.gridview.DataSource;; 但是在程序中运行时,dt是null值哦!
请问高手这是为什么?
[解决办法]
this.gridview.datasource=dt;//把它绑定到gridview中。
this.gridview.DataBind();

若是在代码中,紧随其后
就调用DataTable dt =(DataTable) this.gridview.DataSource;
是可以得到dt的

但一旦页面刷新后,
gridview,都是重新输出的
this.gridview.DataSource 自然也就没有了

[解决办法]
DataTable dt=....;//从数据库获取数据
this.gridview.datasource=dt;
ViewState["d"] = dt;



DataTable dt =(DataTable)ViewState["d"]
[解决办法]

引用:
DataTable dt=....;//从数据库获取数据
this.gridview.datasource=dt;
ViewState["d"] = dt;



DataTable dt =(DataTable)ViewState["d"]

ViewState不可以存datatable!他会序列化!
[解决办法]
引用:
DataTable dt=....;//从数据库获取数据
this.gridview.datasource=dt;
ViewState["d"] = dt;



DataTable dt =(DataTable)ViewState["d"]

+1
那样取值是没有数据的
[解决办法]
循环去出gridview里面的值
[解决办法]
可以的
protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("Name");
        dt.Rows.Add(new object[] { "A" });
        dt.Rows.Add(new object[] { "B" });
        this.GridView1.DataSource = dt;
        this.GridView1.DataBind();
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        DataTable dtb = new DataTable();
        dtb = this.GridView1.DataSource as DataTable;
        Response.Write(dtb.Rows[0][0].ToString());
    }

[解决办法]
加上ispostback条件估计就不行了
[解决办法]
这个问题我也遇到过,直接写gridview.DataSource肯定为空,就加载的时候把控件赋值了。要不然的话就封装一个方法,然后用的时候调用!
[解决办法]
引用:
this.gridview.DataBind();

这个是强制刷新一次。
[解决办法]
用Cache吧

热点排行