问题描述
protectedvoidGridView1_RowCommand(objectsender,GridViewCommandEventArgse){DataTablecart1=newDataTable();if(e.CommandName=="select"){if(Session["shopcart2"]==null){cart1.Columns.Add("商品编号",typeof(string));cart1.Columns.Add("商品名称",typeof(string));cart1.Columns.Add("单价",typeof(double));cart1.Columns.Add("订购数量",typeof(int));cart1.Columns.Add("合计",typeof(double));Session["shopcart2"]=cart1;}//Response.Write("<script>alert('购物车中没有任何商品!')</script>");cart1=(DataTable)Session["shopcart2"];intindex=Convert.ToInt32(e.CommandArgument);GridViewRowrow=GridView1.Rows[index];//Session[Session.SessionID+"uid"]=Label1.Text;//System.Web.UI.WebControls.GridViewRowrows=(GridViewRow)((Control)sender).Parent.Parent;TextBoxtt=((System.Web.UI.WebControls.TextBox)row.Cells[1].FindControl("TextBox1"));stringspl=tt.Text;intsl=int.Parse(spl);stringbh=row.Cells[2].Text;stringname=row.Cells[3].Text;stringsdj=row.Cells[4].Text;doubledj=double.Parse(sdj);DataRowrr=cart1.NewRow();rr["商品编号"]=bh;rr["商品名称"]=name;rr["单价"]=dj;rr["订购数量"]=sl;doublezj=dj*sl;rr["合计"]=zj;cart1.Rows.Add(rr);Session["shopcart2"]=cart1;}}这是前一个页面的代码,gridview数据源绑定为session["shopcart2"],可是怎么不显示?pageload事件里写了databind了,就是不显示??!!
解决方案
解决方案二:
是这样写的吗?GridView1.DataSource=(DataTable)session["shopcart2"];GridView1.DataBind();//这句不能少
解决方案三:
引用1楼的回复:
是这样写的吗?GridView1.DataSource=(DataTable)session["shopcart2"];GridView1.DataBind();//这句不能少
这样绑定最方便,最后再增加一行来显示合计等
解决方案四:
引用1楼的回复:
是这样写的吗?GridView1.DataSource=(DataTable)session["shopcart2"];GridView1.DataBind();//这句不能少
++1楼主只设置数据源,没绑定数据
解决方案五:
确实是没绑定数据源
解决方案六:
没有绑定数据源,如果是自己创建的列,还需要指定列对应的字段名datafield
解决方案七:
GridView.datasource=session["shopcart2"];GridView.DataBind();是这样写的啊
解决方案八:
引用1楼的回复:
是这样写的吗?GridView1.DataSource=(DataTable)session["shopcart2"];GridView1.DataBind();//这句不能少
前面还要加一个(Datatable)ma?
解决方案九:
引用5楼的回复:
没有绑定数据源,如果是自己创建的列,还需要指定列对应的字段名datafield
不是自己创建的,是直接的一个GridView控件,设置的自动生成字段。。