2014-03-06 58 views
0

我比較兩個數據表,並構建一個新表 我想對新表中的值進行排序,因爲它具有-ve值(如果未轉換爲十進制,則不會考慮-ve符號) ) 我想將它從字符串轉換爲十進制類型並返回表進行排序。我得到錯誤的輸入字符串格式不正確怎麼解決這個問題?而在升序進行排序-ve值更改數據表的數據類型使用十進制

private static DataTable CompareTwoDataTable(DataTable table1, DataTable table2) 
{ 
    DataTable table3 = new DataTable(); 
    DataRow dr = null; 
    string filterExp = string.Empty; 
    for (int i = 0; i < table1.Rows.Count; i++) 
    { 

     string col = table1.Rows[i]["Parameter Name"].ToString(); 
     if (table2.Columns.Contains(col)) 
     { 
      if (!table3.Columns.Contains(col)) 
      { 
       table3.Columns.Add(col, typeof(string)); 
       filterExp = filterExp + col + " asc ,"; 
      } 

      for (int j = 0; j < table2.Rows.Count; j++) 
      { 
       if (table3.Rows.Count != table2.Rows.Count) 
       { 
        dr = table3.NewRow(); 
        table3.Rows.Add(dr); 
       } 
       table3.Rows[j][col] = (table2.Rows[j][col].ToString()); 
      } 


     } 


    } 
    DataView dv = new DataView(table3); 
    filterExp = filterExp.TrimEnd(','); 
    dv.Sort = filterExp; 
    table3 = dv.ToTable(); 

    return table3; 
} 
+0

table3.Rows [J]。[ col] =(table2.Rows [j] [col]); –

+0

table3.Columns.Add(col,typeof(double)); –

回答

0

`

private static DataTable CompareTwoDataTable(DataTable table1, DataTable table2) 

     { 

     DataTable table3 = new DataTable(); 
     DataRow dr = null; 
     string filterExp = string.Empty; 
     for (int i = 0; i < table1.Rows.Count; i++) 
     { 

      string col = table1.Rows[i]["Par Name"].ToString(); 
      if (table2.Columns.Contains(col)) 
      { 
       if (!table3.Columns.Contains(col)) 
       { 
        table3.Columns.Add(col, typeof(double)); 
        filterExp = filterExp + col + " asc ,"; 
       } 

       for (int j = 0; j < table2.Rows.Count; j++) 
       { 
        if (table3.Rows.Count != table2.Rows.Count) 
        { 
         dr = table3.NewRow(); 
         table3.Rows.Add(dr); 
        } 
        table3.Rows[j][col] = table2.Rows[j][col]; 
       } 


      } 


     } 

`

相關問題