将数据库查出的数据生成datatable
我们一般将数据库查询出的数据用实体接受在泛型集合,然后遍历集合,以将数据绑定到前台展示,在很多情况下,泛型集合不如datatable更方便将数据操作,这里简单的写一下将泛型集合的数据写到datatable的一个简单方法,这里简单用EF的数据操作写法
//实例化数据库操作 StudyEntities db = new StudyEntities(); //将数据库数据放在实体的泛型集合中 List<Student> stu = db.Student.ToList(); //实例化datatable DataTable dat = new DataTable(); //手动拼写表头(数据库字段) dat.Columns.Add("code", typeof(string)); dat.Columns.Add("name", typeof(string)); dat.Columns.Add("sex", typeof(string)); dat.Columns.Add("birth", typeof(string)); dat.Columns.Add("chengji", typeof(string)); //遍历集合,将数据循环一行一行的加载到datatable foreach (var item in stu) { //定义datatable的行变量 DataRow dr = dat.NewRow(); dr["code"] = item.code.ToString(); dr["name"] = item.name.ToString(); dr["sex"] = Convert.ToBoolean(item.sex) ? "男" : "女"; dr["birth"] = Convert.ToDateTime(item.birth).ToString("yyyy-MM-dd"); dr["chengji"] = item.chengji.ToString(); //每循环一次,将每一行的数据放进datatable dat.Rows.Add(dr); } //此时已经将所有的表数据生成了datatable,可以直接绑定到前台的表格控件,或者做其他操作 try { Grid1.DataSource = dat; Grid1.DataBind(); } catch (Exception ex) { }