GridView1.DataSource = where = "1=0";
bll.GetList(where).Tables[0].DefaultView;
                GridView1.DataBind();在数据源拿出来为什么不显示表头

解决方案 »

  1.   

    方法一:采用其EmptyTemplate来实现,模版中写一个静态的table;
    缺点: 麻烦,每个GridVIew都需要设置一下.方法二: 若数据源为DataTable,则当无数据时,始终返回一个空行的DataTable;
    若数据源是集合类(ArrayList,List<T>等),无数据时,生成一个空的实体,加入到集合类中.
    缺点: 还是麻烦.方法三:
    扩展GridView来实现.继承GridVie,重写Render方法,当其数据源为空时做一下处理
      

  2.   

    顶5楼,默认的GridView在查不到数据的时候本来就不显示表头,这不是VS2003的DataGrid.