校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Asp.net靜態方法之Grid轉DataTable方法實現步驟

Asp.net靜態方法之Grid轉DataTable方法實現步驟

熱門標簽:地圖標注位置多的錢 杭州智能電話機器人 濟源人工智能電話機器人價格 百度地圖標注點擊事件 內蒙古智能電銷機器人哪家強 泰州手機外呼系統軟件 怎樣在地圖標注消火栓圖形 廈門四川外呼系統 山東防封電銷卡辦理套餐
GridView綁定DataTable后,如何獲取GridView綁定后顯示的值,在項目需求需要的背景下,搜索了獲取單元格顯示文本的方法,然后寫了一個靜態方法,經過在項目中的使用,bug的修復,較為穩定。

獨樂樂不如眾樂樂,把代碼貼出來供大家指正。
復制代碼 代碼如下:

#region ================GridView轉DataTable方法================
/// summary>GridView轉DataTable 版權:求知域http://www.qqextra.com,http://blog.csdn.net/ls_man轉載請注明出處/summary>
/// param name="gv">已綁定數據源的GridView/param>
/// param name="showHideColumn">是否顯示隱藏列/param>
/// returns>DataTable/returns>
public static DataTable GridViewToDataTable(GridView gv, Boolean showHideColumn)
{
//處理后的數據表
DataTable dt = new DataTable();
//記錄符合條件索引
int[] columnIndexs = new int[gv.HeaderRow.Cells.Count];
//記錄指示器從0開始
int columnIndexsCount = 0;
//初始化dt列名
for (int i = 0; i gv.HeaderRow.Cells.Count; i++)
{
//獲取列名
string columnName = GetCellText(gv.HeaderRow.Cells[i]);
//string columnName = gv.HeaderRow.Cells[i].Text;
//列名非空//且可見
if (!string.IsNullOrEmpty(columnName))
{
//是否顯示隱藏列
if (gv.HeaderRow.Cells[i].Visible || showHideColumn)
{
//列名不允許重復
if (!dt.Columns.Contains(columnName))
{
//dt中新增一列
DataColumn dc = dt.Columns.Add();
//列名
dc.ColumnName = columnName;
//存儲的數據類型
dc.DataType = typeof(string);
//記錄符合條件的列索引
columnIndexs[columnIndexsCount] = i;
//記錄指示器+1
columnIndexsCount++;
}
}
}
}//版權:求知域http://www.qqextra.com,http://blog.csdn.net/ls_man轉載請注明出處
//GridView行復制到數組中便于操作
GridViewRow[] allGridViewRow = new GridViewRow[gv.Rows.Count];
gv.Rows.CopyTo(allGridViewRow, 0);
//數據添加到dt中
foreach (GridViewRow row in allGridViewRow)
{
//創建一行
DataRow dr = dt.NewRow();
//符合條件的列
for (int i = 0; i columnIndexsCount; i++)
{
//獲取顯示文本并保存
dr[i] = GetCellText(row.Cells[columnIndexs[i]]);
}
//dt中增加此行
dt.Rows.Add(dr);
}
//返回處理后的數據
return dt;
}
/// summary>GridView轉DataTable 版權:求知域http://www.qqextra.com,http://blog.csdn.net/ls_man轉載請注明出處/summary>
/// param name="gv">未綁定數據源的GridView/param>
/// param name="dtSource">GridView的數據源/param>
/// param name="showHideColumn">是否顯示隱藏列/param>
/// returns>DataTable/returns>
public static DataTable GridViewToDataTable(GridView gv, DataTable dtSource, Boolean showHideColumn)
{
//綁定原始數據到GridView
gv.DataSource = dtSource;
gv.DataBind();
//設置為不分頁
gv.AllowPaging = false;SPAN style="FONT-FAMILY: Arial, Helvetica, sans-serif">//版權:求知域http://www.qqextra.com,http://blog.csdn.net/ls_man轉載請注明出處
//GridView轉DataTable并返回
return GridViewToDataTable(gv, showHideColumn);
}
#endregion
#region ================私有工具方法================
/// summary>獲取TableCell的顯示文本 版權:求知域http://www.qqextra.com,http://blog.csdn.net/ls_man轉載請注明出處/summary>
/// param name="cell">TableCell/param>
/// returns>string/returns>
private static string GetCellText(TableCell cell)
{
string cellText = cell.Text;
//常規文本(無控件)直接返回
if (!string.IsNullOrEmpty(cellText))
{
//返回顯示文本
return cellText.Replace("nbsp;", "");
}
//遍歷cell中的控件
foreach (Control control in cell.Controls)
{
if (control != null control is IButtonControl)
{
IButtonControl btn = control as IButtonControl;
cellText += btn.Text.Replace("\r\n", "").Trim();
continue;
}版權:求知域http://www.qqextra.com,http://blog.csdn.net/ls_man轉載請注明出處
if (control != null control is ITextControl)
{
LiteralControl lc = control as LiteralControl;
if (lc != null)
{
//跳出到下一步foreach
continue;
}
ITextControl l = control as ITextControl;
cellText += l.Text.Replace("\r\n", "").Trim();
continue;
}
}
//返回顯示文本
return cellText;
}
#endregion
/SPAN>
您可能感興趣的文章:
  • asp.net實現導出DataTable數據到Word或者Excel的方法
  • asp.net實現數據從DataTable導入到Excel文件并創建表的方法
  • Asp.net中DataTable導出到Excel的方法介紹
  • asp.net 讀取Excel數據到DataTable的代碼
  • ASP.NET DataTable去掉重復行的2種方法
  • ASP.NET中DataTable與DataSet之間的轉換示例
  • ASP.NET怎么操作DataTable實例應用
  • Asp.net下使用Jquery Ajax傳送和接收DataTable的代碼
  • asp.net 數據庫的連接和datatable類
  • Asp.net實現選擇性的保留DataTable中的列
  • asp.net DataTable導出Excel自定義列名的方法

標簽:洛陽 百色 喀什 臺州 朝陽 朔州 周口 新鄉

巨人網絡通訊聲明:本文標題《Asp.net靜態方法之Grid轉DataTable方法實現步驟》,本文關鍵詞  Asp.net,靜態,方法,之,Grid,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Asp.net靜態方法之Grid轉DataTable方法實現步驟》相關的同類信息!
  • 本頁收集關于Asp.net靜態方法之Grid轉DataTable方法實現步驟的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 刚察县| 望江县| 泸定县| 舞阳县| 青川县| 浏阳市| 海晏县| 巴彦淖尔市| 沁阳市| 光山县| 张家界市| 平顺县| 昭苏县| 彭泽县| 瑞金市| 嘉禾县| 黔西| 宁远县| 连州市| 绍兴县| 房产| 彰化县| 安丘市| 两当县| 中西区| 昌乐县| 普兰店市| 平谷区| 昌宁县| 竹北市| 万载县| 万年县| 阿拉善盟| 法库县| 东宁县| 万全县| 洪泽县| 石河子市| 蓬安县| 景宁| 嵩明县|