当前位置:编程学习 > C#/ASP.NET >>

gridview为什么不显示数据???高手帮忙看看啊!

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
  {
  DataTable cart1 = new DataTable();
  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"];
  int index = Convert.ToInt32(e.CommandArgument);
  GridViewRow row = GridView1.Rows[index];
  //Session[Session.SessionID+"uid"] = Label1.Text;
  //System.Web.UI.WebControls.GridViewRow rows = (GridViewRow)((Control)sender).Parent.Parent;
  TextBox tt = ((System.Web.UI.WebControls.TextBox)row.Cells[1].FindControl("TextBox1"));
  string spl = tt.Text;
  int sl = int.Parse(spl);
  string bh = row.Cells[2].Text;
  string name = row.Cells[3].Text;
  string sdj = row.Cells[4].Text;
  double dj = double.Parse(sdj);
  DataRow rr = cart1.NewRow();
  rr["商品编号"] = bh;
  rr["商品名称"] = name;
  rr["单价"] = dj;
  rr["订购数量"] = sl;
  double zj = 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控件,设置的自动生成字段。。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,