想对GridView绑定数据源...
 
在DAL层写的代码:
       public static List<user> SelectAll()
        {
            string _sql = "select * from users";
            DataTable dt = DBHelper.GetDataSet(_sql);            if (dt == null || dt.Rows.Count == 0)
            {
                return null;
            }
            else
            {
                List<user> list = new List<user>();
                foreach ( DataRow row in dt.Rows)
                {
                    list.Add(CreateInstance(row));
                }
                return list;
            }
        }
        private static user CreateInstance(DataRow dr)
        {
            user model = new user();
            model.User_ID = int.Parse(dr["user_ID"].ToString());
            model.User_name = dr["user_name"].ToString();
            model.Pwd = dr["pwd"].ToString();
            model.Sex = dr["sex"].ToString();
            model.Birthday=DateTime.Parse(dr["birthday"].ToString());
            model.Phone = dr["phone"].ToString();
            model.Addr=dr["addr"].ToString();
            model.Email=dr["email"].ToString();            return model;
        }
在BLL层: public static List<user> UserBind( )  { return userDAL.SelectAll( );}
在页面的对GridView绑定:
protected void Page_Load(object sender, EventArgs e)
    {
        GridView1.DataSource = userBLL.UserBind();
        GridView1.DataBind();
    }
 不知道哪里出了问题,页面上没有显示出数据但是 数据库中有一条记录,会显示空的一行。有两条记录,就有空的两行被弄晕了、这是怎么一回事呢?请赐教啊!!
        

解决方案 »

  1.   

    不用List<user>,你直接返回DataTable 试试
      

  2.   

    GridView1.DataSource =DataTable 
      

  3.   

    protected void Page_Load(object sender, EventArgs e)
      {
      GridView1.DataSource = userBLL.UserBind();
      GridView1.DataBind();
      }
    你的GridView1在前台进行字段绑定了吗?
    或者你设置autocoloums为true了没?
    没绑定怎么显示?
      

  4.   

    前台(aspx)没有绑定字段。怎么显示?
      

  5.   

    GridView1.DataSource = dataset 或者 datatable