0

xml データを読み取る DataSet があり、ほぼ 20 列あります。DataSet から 5 列が必要です。私は自分のレベルで試しましたが、必要な特定の列を持つ DataTable を取得できませんでした。私が試したいくつかのコードは次のとおりです。

DataTable dt = new DataTable();  //dt is blank DataTable 
DataSet ds = new DataSet();  //ds is existing DataSet which has single table in it
dt.Columns[0]=dst4.Tables[0].Columns[0];               
dt.Columns.Add(dst4.Tables[0].Columns[0]);  
ds.Tables.Add(dt)
dst4.Tables.Columns.Add(dt);
4

2 に答える 2

0

同じ列を持つ空のテーブルを作成するテーブルを複製してから、冗長な列を削除できます。名前付き列の例を次に示します。インデックスを使用することもできます。

DataTable dt = ds.Tables[0].Clone();
var colToTake = new[] { "Col1", "Col3", "Col7", "Col15", "Col19" };
var colsToRemove = dt.Columns.Cast<DataColumn>()
    .Where(c => !colToTake.Contains(c.ColumnName));
foreach (DataColumn colToRemove in colsToRemove)
    dt.Columns.Remove(colToRemove);
于 2013-08-30T10:50:37.993 に答える
0

列 "ColumnName1"、"ColumnName2"、"ColumnName3"、"ColumnName4"、"ColumnName5" を new にコピーする必要があるとします。DataTable

DataTable source = dst4.Tables[0];
DataTable dt = source.DefaultView.ToTable(false, "ColumnName1", "ColumnName2", "ColumnName3", "ColumnName4", "ColumnName5"); 
于 2013-08-30T10:47:35.070 に答える