2012年8月23日 星期四

Datatable 跟 Gridview互相轉換

這個功能乍看之下有點雞肋
Gridview的資料源不就是Datatable嗎?
要Datatable就直接取源頭豈不是更快....

但是某些需求會將Datatable塞到Gridview後,把Gridview的數值合併運算再合併運算再合併運算
最後要匯出Excel表

這時候就很適合用這個功能了
直接點繼續閱讀取得程式碼吧~


這是一個完整的方法喔,貼了就可以用,唯一要注意的是要在引用加上這句
using System.Data;



public static DataTable GetGridDataTable(GridView grid) {
        DataTable dt = new DataTable();
        DataColumn dc;//創建列
        DataRow dr;       //創建行
        //構造列
        for (int i = 0; i < grid.Columns.Count; i++) {
            dc = new DataColumn();
            dc.ColumnName = grid.Columns[i].HeaderText;
            dt.Columns.Add(dc);
        }
        //構造行
        for (int i = 0; i < grid.Rows.Count; i++) {
            dr = dt.NewRow();
            for (int j = 0; j < grid.Columns.Count; j++) {
                dr[j] = grid.Rows[i].Cells[j].Text;
            }
            dt.Rows.Add(dr);
        }

        return dt;
    }

沒有留言:

張貼留言