激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - Asp.net靜態方法之Grid轉DataTable方法實現步驟

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

2019-10-31 13:59asp.net教程網 ASP.NET教程

GridView綁定DataTable后,如何獲取GridView綁定后顯示的值,在項目需求的背景下寫了一個靜態方法,經過在項目中的使用,bug的修復,較為穩定

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(" ", ""); 

//遍歷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> 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲四播房 | 国产精品视频一区二区三区四区五区 | 一级毛片免费一级 | 午夜视频福利 | 蜜桃网在线观看 | 毛片在线免费视频 | 精品久久久久久中文字幕 | 成人毛片网站 | 91高清在线 | 在线观看91精品 | 久久99精品国产99久久6男男 | 久久精品视频8 | 午夜视频福利 | 日韩av一区三区 | 免费视频xxxx | 国产黄色一级大片 | 黄色羞羞| 国产一区日韩一区 | 成人黄色小视频网站 | 一级电影免费在线观看 | 成人一级免费 | 亚洲日本韩国精品 | 爱性久久久久久久 | 精品久久一区二区三区 | 色综合网在线观看 | 日本羞羞的午夜电视剧 | 一本大道av | 在线免费小视频 | 国产精品久久久久一区二区 | 免费黄色在线 | 中文字幕在线播放第一页 | 成人福利视频导航 | 亚洲福利在线免费观看 | 夜添久久精品亚洲国产精品 | 精品在线免费播放 | 免费看真人a一级毛片 | 深夜毛片免费看 | 欧美日韩在线播放一区 | 免费国产在线观看 | 久久精品国产久精国产 | 黄色片网站在线看 |