<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      從GridView生成DataTable

      DataTable與GridView從數據結構上來看都是一個由row和column組成表的結構,我們大部分時間是將DataTable綁定到GridView中,但web中當頁面回傳的時候,傳遞給GridView的數據源卻再也找不到了,這是一件很郁悶的事情,下面我們根據兩者的相似性,實現從GridView生成DataTable的方法,不管原來的GridView數據源是否是DataTable,都能使用該方法 

      /*----------------------------------------------------------------
      // Copyright (C) 2007 jillzhang 版權所有。 
      //  
      // 文件名:GridView.cs
      // 文件功能描述:
      // 
      // 創建標識:jillzhang 
      // 修改標識:
      // 修改描述:
      //
      // 修改標識:
      // 修改描述:
      //----------------------------------------------------------------
      */


      using System;
      using System.Collections.Generic;
      using System.Text;
      using System.Web.UI.WebControls;
      using System.Data;
      using System.Web.UI;


      namespace jzlib.Common
      {
          
      public class GridViewHelper
          
      {
              
      public static string GetCellText(TableCell cell)
              
      {
                  
      string text = cell.Text;
                  
      if (!string.IsNullOrEmpty(text))
                  
      {
                      
      return text;
                  }

                  
      foreach (Control control in cell.Controls)
                  
      {
                      
      if (control != null && control is IButtonControl)
                      
      {
                          IButtonControl btn 
      = control as IButtonControl;
                          text 
      = btn.Text.Replace("\r\n""").Trim();
                          
      break
                      }

                      
      if (control != null && control is ITextControl)
                      
      {
                          LiteralControl lc 
      = control as LiteralControl;
                          
      if (lc != null)
                          
      {
                              
      continue;
                          }

                          ITextControl l 
      = control as ITextControl;

                          text 
      = l.Text.Replace("\r\n""").Trim();
                          
      break;
                      }

                  }

                  
      return text;
              }

              
      /// <summary>
              
      /// 從GridView的數據生成DataTable
              
      /// </summary>
              
      /// <param name="gv">GridView對象</param>

              public static DataTable GridView2DataTable(GridView gv)
              
      {
                  DataTable table 
      = new DataTable();
                  
      int rowIndex = 0;
                  List
      <string> cols = new List<string>();
                  
      if (!gv.ShowHeader && gv.Columns.Count == 0)
                  
      {
                      
      return table;
                  }

                  GridViewRow headerRow 
      = gv.HeaderRow;
                  
      int columnCount = headerRow.Cells.Count;
                  
      for (int i = 0; i < columnCount; i++)
                  
      {
                      
      string text = GetCellText(headerRow.Cells[i]);
                      cols.Add(text);
                  }

                  
      foreach (GridViewRow r in gv.Rows)
                  
      {
                      
      if (r.RowType == DataControlRowType.DataRow)
                      
      {
                          DataRow row 
      = table.NewRow();
                          
      int j = 0;
                          
      for (int i = 0; i < columnCount; i++)
                          
      {
                              
      string text = GetCellText(r.Cells[i]);
                              
      if (!String.IsNullOrEmpty(text))
                              
      {
                                  
      if (rowIndex == 0)
                                  
      {
                                     
      string columnName = cols[i];
                                      
      if (String.IsNullOrEmpty(columnName))
                                      
      {        
                                              
      continue;
                                      }

                                      
      if (table.Columns.Contains(columnName))
                                      
      {
                                          
      continue;
                                      }

                                      DataColumn dc 
      = table.Columns.Add();
                                      dc.ColumnName 
      = columnName;
                                      dc.DataType 
      = typeof(string);
                                  }

                                  row[j] 
      = text;
                                  j
      ++;
                              }
                          
                          }

                          rowIndex
      ++;
                          table.Rows.Add(row);
                      }

                  }

                  
      return table;
              }

          }

      }

      使用這個函數,您可以得到GridView當前頁面的數據,當然如果您在GridView中添加了復雜的控件,我們將略過這些內容,我們只從顯示文本的列中導出數據到DataTable,如果您想導出GridView的全部數據,請在綁定前設置AllowPaging=false;
      當然大家會問這樣做有什么用呢?這個函數是我在開發將GridView導出Excel的時候想到的,類似于這種應用情形,我想還有很多。
      下面是一個示例,通過從上面的GridView導出DataTable,然后再綁定到下面的GridView中


      示例代碼:
      /Files/jillzhang/gv2dtdemo.rar

      更新標識:
      1. 2007-10-12 日 更新,添加對IButtonControl列的支持,修正了有時出現索引超出的異常

      posted @ 2007-10-11 15:01  Robin Zhang  閱讀(11442)  評論(11)    收藏  舉報
      主站蜘蛛池模板: 亚洲精品无码久久千人斩| 欧美不卡无线在线一二三区观| 精品无码av无码专区| 国产精品人伦一区二区三| 国产精品一二三中文字幕| 欧洲性开放老太大| 亚洲毛片多多影院| 熟女激情乱亚洲国产一区| 成全影院电视剧在线观看| 国产第一页浮力影院入口| 日韩中文字幕v亚洲中文字幕| 色AV专区无码影音先锋| 兴化市| 丰满熟妇人妻中文字幕| 男女扒开双腿猛进入爽爽免费看| 色情一区二区三区免费看| 亚洲综合无码久久精品综合| 亚洲一国产一区二区三区| 亚洲日韩一区二区| 日韩一区二区三区av在线| 亚洲av日韩在线资源| 一本色道久久综合亚洲精品| 久久精品国产99久久美女| 黄色三级亚洲男人的天堂| 欧美日激情日韩精品嗯| 久久国产自偷自偷免费一区| 人妻少妇偷人无码视频| 久久99精品久久久久久琪琪| 天堂а√在线地址中文在线| 久久综合伊人77777| 国产妇女馒头高清泬20p多| 亚洲综合久久精品国产高清| 国产永久免费高清在线观看| 波多野结av衣东京热无码专区| 亚洲成人av高清在线| 日韩在线成年视频人网站观看| 上高县| 无码伊人久久大杳蕉中文无码 | 91福利一区福利二区| 97无码人妻福利免费公开在线视频| 一亚洲一区二区中文字幕|