2016-08-13 19 views
0

空の値を行から削除し、row1にからrow2にデータテーブル内でマージするよい方法を見つけようとしています。マージされた行DataTableの行とマージで空の値を削除する方法

 _____________________ 
     | Column1 | Column2 | 
     ---------------------- 
ROW1 | XYZ | ABC  |  
ROW2 | MNQ | PQR | 

 --------------------- 
     | Column1 | Column2 | 
     ---------------------- 
ROW1 | XYZ  |   |  
ROW2 |   | ABC  | 
ROW3 | MNQ  |   | 
ROW4 |   | PQR  | 

最終データテーブルをマージするために、空行を持つ

DataTableには誰かが私はC#でこれを実現するために役立つことはできますか?

+0

いつも代わりに空になるのですか?行5と6にColumn1があり、列2がない場合はどうなりますか? – Shyju

+0

yes.itは常に空白です。 –

答えて

0

column1の値とcolumn2の値を格納する2つの配列を作成してみます。 ループ内ですべてのデータ可能な行を調べ、空ではない行をcolumn1からarray1に挿入し、rowsをcolumn2からarray2に挿入します。最後に、array1とarray2から取得した行を持つ新しいデータテーブルを作成します。 たとえば、擬似コードです。

var array1; 
    var array2; 
    for(var row in datatable) 
    { 
     if(row[column1] != null or empty)array1.push(row[column1].value); 
     if(row[column2] != null or empty)array2.push(row[column2].value); 
} 

と終了(第bigerあるものアレイチェック).FOR例では、私はその配列1を仮定は大きいです。

var newDatatable; 

for(int i=0; i<array1.count; i++) 
{ 
var row = new row; 
newDatatable.row[column1].addRowValue(array1[i]) 
if(array2.count < i){ 
newDatatable.row[column2].addRowValue(array2[i]) 
} 

} 
関連する問題