我想在C#中的DataTable中选择一列,此列也应在DataTable中转换。从数据表中选择列并将其转换为数据表
这就是我想要的。
数据表(多列)>选择一列>此列再次转换到DataTable
我试试这个,但是这给我的完整数据表背。
DataTable dt = defindedDataTable.Columns[0].Table;
我想在C#中的DataTable中选择一列,此列也应在DataTable中转换。从数据表中选择列并将其转换为数据表
这就是我想要的。
数据表(多列)>选择一列>此列再次转换到DataTable
我试试这个,但是这给我的完整数据表背。
DataTable dt = defindedDataTable.Columns[0].Table;
你可以从你的表DataView
,然后使用DataView.ToTable方法。使用这种方法,你可以选择一个或多个列,你想:
DataTable dt = defindedDataTable.DefaultView.ToTable(false, defindedDataTable.Columns[0].ColumnName);
这将创建一个新表,插入一列,并用包含原始数据行填充:
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);
}
哎DonBoitnott,这是一个可行的办法,但我没有得到来自defindedDataTable的数据,有什么不对劲的 – Higune
你将不得不处理特定的行以从列中获取数据,这是您的原始示例没有显示的,所以我编辑了一个通用的响应。 – DonBoitnott
我想要一列的完整数据,我是否需要for循环遍历所有行? – Higune
也是一个解决方案 – Higune
好,克里斯,我不知道'ToTable()'。 – DonBoitnott
@DonBoitnott我知道这种方法,但30分钟前,我不知道允许您选择列的过载;-)。很有用。 – Chris