如何在GridView數(shù)據(jù)源為空時(shí)也顯示表頭_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:揭秘ASP.NET中設(shè)置默認(rèn)提交按鈕的代碼
      publicstaticvoidSetDefEnterControl(System.Web.UI.ControlCtrl) { PagemPage=Ctrl.Page; stringmScript; mScript=@scriptlanguage=javascript; mScript=mScript+functiondocument.onkeydown(){; mScript=mScript+vare=event.srcElement;; mScript

      首先,需要GridView的AutoGenerateColumn屬性為false。
      進(jìn)行正常的綁定后,添加頁面事件
      this.PreRender += OnPagePreRender; 

      這個(gè)事件只要比綁定晚就可以,不必非得是PreRender。
      然后判斷如果數(shù)據(jù)源無數(shù)據(jù),就執(zhí)行以下代碼

      if (gridView.DataSource is DataTable  
          && ((DataTable)gridView).DataSource).Rows.Count == 0)  
      {  
          DataTable dt = new DataTable("EmptyTable");  
          foreach (DataControlField field in gridView.Columns)  
          {  
              if (field is BoundField)  
              {  
                  dt.Columns.Add(((BoundField) field).DataField);  
              }  
          }  
          ArrayList values = new ArrayList();  
          for (int i = 0; i < dt.Columns.Count; i++)  
          {  
              values.Add(null);  
          }  
          dt.Rows.Add(values.ToArray());  
       
          gridView.DataSource = dt;  
          gridView.DataBind();  


      這樣表頭就顯示出來了。
      不過這里只對數(shù)據(jù)綁定類型的列(BoundField)進(jìn)行了處理,如果還有其它類型的列還需要增加相應(yīng)的處理代碼。

      分享:解析C# 如何獲取圖片長寬
      Imagepic=Image.FromFile(strFilePath); //strFilePath是該圖片的絕對路徑 intintWidth=pic.Width;//長度像素值 intintHeight=pic.Height;//高度像素值

      來源:模板無憂//所屬分類:.Net教程/更新時(shí)間:2010-02-11
      相關(guān).Net教程