2020-04-17
public static DataTable GridViewtoDataTable(GridView gv) {
// GridView2DataTable
// 只會抓 <asp:BoundField DataField="myname" HeaderText="myname" SortExpression="myname" /> 這類的值,
// 執行【將這個欄位轉為 TemplateField】的欄位不會被抓到。
gv.AllowSorting = false; // 支援排序時,標題不是文字,要改抓 LinkButton 的文字,麻煩,不如暫時取消
gv.AllowPaging = false; // 分頁狀態下,只能抓到當頁的10筆,必須取消分頁
gv.DataBind();
DataTable dt = new DataTable();
DataColumn dc;
DataRow dr;
for (int i = 0; i < gv.Columns.Count; i++)
{
dc = new DataColumn();
dc.ColumnName = gv.Columns[i].HeaderText;
dt.Columns.Add(dc);
}
for (int i = 0; i < gv.Rows.Count; i++)
{
dr = dt.NewRow();
for (int j = 0; j < gv.Columns.Count; j++)
{
dr[j] = gv.Rows[i].Cells[j].Text;
}
dt.Rows.Add(dr);
}
gv.AllowSorting = true;
gv.AllowPaging = true;
gv.DataBind();
return dt;
}
|
(完)
沒有留言:
張貼留言