データセットの列を削除するにはどうすればよいですか?このようなデータセットの列を削除するにはどうすればよいですか?
rh.dsDetail = ds.Tables[0].Columns.Remove(
または多分:
rh.dsDetail = ds.Tables[0].Columns.Remove(ds.Tables[0].Columns[1],ds.Tables[0].Columns[2])
データセットの列を削除するにはどうすればよいですか?このようなデータセットの列を削除するにはどうすればよいですか?
rh.dsDetail = ds.Tables[0].Columns.Remove(
または多分:
rh.dsDetail = ds.Tables[0].Columns.Remove(ds.Tables[0].Columns[1],ds.Tables[0].Columns[2])
まず、DataTable
が列ではなく、データ・セットを持ってい
は、このように私のためにこれを行うだろうが方法です。その後、
あなたがそれらを取り除くしたい場合は、:
table.Columns.Clear();
そうでない場合、あなたはインデックスを持っている場合:あなたは列のインデックスを持っている場合
table.Columns.RemoveAt(0);
が仕事をする必要があります。カラム0を削除すると、数字がシャッフルされるので、逆の順序で行う必要があることに注意してください。
代わりに、名前で削除することもできます。
table.Columns.Remove("Foo");
そのような方法はありません。しかし、あなた自身のヘルパーメソッドを書くことができます。
public static void RemoveColumns(DataTable dt, params DataColumn[] dc)
{
foreach (DataColumn c in dc)
{
dt.Columns.Remove(c);
}
}
RemoveColumns(ds.Tables[0], ds.Tables[0].Columns[1], ds.Tables[0].Columns[2]);
一度に複数の列を削除する方法はありません。必要に応じて拡張メソッドを作成することができます。このような何か:
public static class DataColumnCollectionExtensions
{
public static void RemoveColumns(this DataColumnCollection column, params string[] columns)
{
foreach (string c in columns)
{
column.Remove(c);
}
}
}
あなたは、このようにそれを使用することができます:
DataTable table1 = ds.Tables[0];
table1.Columns.RemoveColumns("Column1","Column2","Column6");
私は両方のリサイズに前& Webアプリケーションを、これを行っています。 DataTableを逆にして、最後にAcceptChangesを実行する必要があります。この特定の例は、すべてのGUID( "id"で終わる列)を削除する点で一般的です。これまであなたは、列名の新しいセットを持っているので、列を削除したい場合は
private void RemoveUselessFields(ref DataTable dtResults)
{
for (int i = dtResults.Columns.Count - 1; i >= 0; i--)
{
DataColumn column = dtResults.Columns[i];
if (column.ColumnName.Substring(column.ColumnName.Length - 2, 2).ToUpper() == "ID")
{
dtResults.Columns.Remove(column);
}
}
dtResults.AcceptChanges();
}
、あなたはこれを使用することができます。
DataSet.Reset();
はそれがお役に立てば幸いです。
より良い方法(o; –