我想在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