给条件查询数据库当没有数据时在GridView中只显示列名,求解答

解决方案 »

  1.   


                 this.GridView1.DataSource = XXX();
                this.GridView1.DataBind();
               //判断是否有数据,没有的话
                if (GridView1.Rows.Count==0)
                {
                    DataTable dt = new DataTable();
                    
                dt.Columns.Add("患者番号");
                dt.Columns.Add("患者氏名");
                dt.Columns.Add("生年月日");
                dt.Columns.Add("性別");
                dt.Columns.Add("登録日");
                dt.Columns.Add("診療科");
                dt.Columns.Add("主治医");
                DataRow dr = dt.NewRow();
               
                dr["患者番号"] = "";
                dr["患者氏名"] = "";
                dr["生年月日"] = "";
                dr["性別"] = "";
                dr["登録日"] = "";
                dr["診療科"] = "";
                dr["主治医"] = "";
                dt.Rows.Add(dr);
                this.GridView1.DataSource = dt;
                this.GridView1.DataBind();
              }
      

  2.   

    1樓的方法可以。另外也可以直接在GridView屬性設置,具體忘記是哪個了,好像有個**column的,認真看看
      

  3.   

    GridView   提供的现成解决方案:在   EmptyDataTemplate   模板中定义空数据应该是显示的内容 因此,你可以定义一个相似的表头放入   EmptyDataTemplate   中,就无需任何代码 并且,你甚至可以通过   Theme/Skin   的方式为多个   GridView   定义一样的   EmptyDataTemplate   此过程无序改动你的任何现有代码或者这样:if   (ds.Tables[0].Rows.Count   ==   0) 

            ds.Tables[0].Rows.Add(ds.Tables[0].NewRow()); 
            GridView1.DataSource   =   ds; 
            GridView1.DataBind(); 
            GridView1.Rows[0].Cells.Clear(); 
    }