从datatable中选择列并再次将其转换为datatable

时间:2013-06-19 16:03:16

标签: c# datatable

我想在C#中的DataTable中选择一列,此列也应该在DataTable中进行转换。

这就是我想要的。

DataTable(多列)>选择一列>将此列再次转换为DataTable

我试过这个,但这给了我完整的DataTable。

DataTable dt = defindedDataTable.Columns[0].Table;

2 个答案:

答案 0 :(得分:2)

您可以从表中获取DataView,然后使用DataView.ToTable方法。使用此方法,您可以选择所需的一个或多个列:

DataTable dt = defindedDataTable.DefaultView.ToTable(false, defindedDataTable.Columns[0].ColumnName);

答案 1 :(得分:0)

这将创建一个新表,插入单个列,并填充包含原始数据的行:

DataTable dt = new DataTable();
DataColumn column = new DataColumn()
{
    ColumnName = defindedDataTable.Columns[0].ColumnName,
    DataType = defindedDataTable.Columns[0].DataType,
    Expression = defindedDataTable.Columns[0].Expression,
    ColumnMapping = defindedDataTable.Columns[0].ColumnMapping
};
dt.Columns.Add(column);
foreach (DataRow row in defindedDataTable.Rows)
{
    DataRow newRow = dt.NewRow();
    newRow[defindedDataTable.Columns[0].ColumnName] = row[defindedDataTable.Columns[0].ColumnName];
    dt.Rows.Add(newRow);
}