我有存儲在DataSet中的應用程序的信息。數據集的表0(由DataSet.Tables [0]訪問)有一個名爲「站ID」的列。我需要得到一個只包含此列的數據集。如何獲取DataSet的一列?
如何使用所有工作站ID填充新的DataSet?
我有存儲在DataSet中的應用程序的信息。數據集的表0(由DataSet.Tables [0]訪問)有一個名爲「站ID」的列。我需要得到一個只包含此列的數據集。如何獲取DataSet的一列?
如何使用所有工作站ID填充新的DataSet?
你需要創建一個新的DataSet
與DataTable
有你的列和複製行:
DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add(oldDt.Columns["StationID"]);
for (int i = 0; i < oldDt.Rows.Count; i++)
{
dt.Rows[i]["StationID"] = oldDt.Rows[i]["StationID"];
}
ds.Tables.Add(dt);
或者,您可以克隆當前的數據表,並刪除列不需要:
DataTable dt = oldDt.Copy();
dt.Columns.Remove("Column1");
dt.Columns.Remove("Column2");
//...
嘗試......
public DataSet DataSetStationId(DataSet yourDataSet)
{
DataSet newDs = new DataSet();
DataTable newDt = new DataTable();
newDt.Columns.Add(new DataColumn("Station Id"));
for (int i = 0; i < yourDataSet.Tables[0].Rows.Count; i++)
{
newDt.Rows[i]["Station Id"] = yourDataSet.Tables[0].Rows[i]["Station Id"];
}
newDs.Tables.Add(newDt);
return newDs;
}
如果喲ü想只是一個值,你知道行號:
DataSet ds = new DataSet();
DataTable dt = new DataTable()
int StationID = Convert.ToInt32(ds.dt.[RowID][StationID])
有可能是一個方便的LINQ的方式來做到這一點,但是那外面你只是需要創建第二個數據集,把數據表中它與那一列,然後逐行復制它。 – BlargleMonster
@BlargleMonster - 這正是我想象的。謝謝! – iamthesgt