DataTable And DataRow

  1. /// <summary>  
  2. /// 将DataTable的字段名全部翻译为中文  
  3. /// </summary>  
  4. /// <param name="table">待翻译的DataTable</param>  
  5. /// <returns></returns>  
  6. public DataTable TranslateDataTable(DataTable table)  
  7. {  
  8.     DataTable dt = new DataTable();  
  9.     dt.TableName = "TempTable";  
  10.   
  11.     if (table != null && table.Rows.Count > 0)  
  12.     {  
  13.         //先为dt构造列信息  
  14.         foreach (DataColumn column in table.Columns)  
  15.         {  
  16.             string name = GetColumnName(column.ColumnName);  
  17.             dt.Columns.Add(name);  
  18.         }  
  19.   
  20.         for (int i = 0; i < table.Rows.Count; i++)  
  21.         {  
  22.             DataRow NewRow = dt.NewRow();  
  23.             DataRow row = table.Rows[i];  
  24.   
  25.             for (int j = 0; j < dt.Columns.Count; j++)  
  26.             {  
  27.                 NewRow[j] = row[j].ToString();  
  28.             }  
  29.   
  30.             dt.Rows.Add(NewRow);  
  31.         }  
  32.     }  
  33.     return dt;  
  34. }  
  35.   
  36. /// <summary>  
  37. /// 得到列名称的别名  
  38. /// </summary>  
  39. /// <param name="columnName"></param>  
  40. /// <returns></returns>  
  41. private string GetColumnName(string columnName)  
  42. {  
  43.     string sqlString = " Select TRANSLATION from COLUMNTRANSLATION where COLUMNNAME = '" + columnName.ToUpper() + "'";  
  44.   
  45.     object s = dao.ExecuteScalar(sqlString);  
  46.     string name = (s == null) ? columnName : s.ToString(); //如果此英文字段有翻译,则返回其中文翻译,若无,则保留此英文翻译。  
  47.     return name;  
  48. }  

你可能感兴趣的:(DataTable And DataRow)