是否可以更改DataTable中的行的順序,例如當前索引爲5的索引移動到索引爲3等位置?在C#中的DataTable中更改行的順序
我有這個傳統,凌亂的代碼,其中下拉菜單從DataTable中獲取它的值,它從數據庫中獲取它的值。因爲它有太多的列和條目,所以不可能對數據庫進行更改。我的原始雖然是在數據庫中添加新的列和它的值,但這將是艱難的。
所以,因爲這只是呈現給用戶的問題,我只是想在該DataTable中切換行的順序。有人知道在C#中執行此操作的最佳方法嗎?
這是我當前的代碼:
DataTable result = flokkurDao.GetMCCHABAKflokka("MSCODE");
foreach (DataRow row in result.Rows)
{
m_cboReasonCode.Properties.Items.Add(row["FLOKKUR"].ToString().Trim() + " - " + row["SKYRING"]);
}
例如,我要推行2011 - 先前發出的DataTable的最高信用。
SOLUTION:
對於那些誰可能與數據表中的行排序,並與過時的技術,不工作的問題,支持LINQ的這可能幫助:
DataRow firstSelectedRow = result.Rows[6];
DataRow firstNewRow = result.NewRow();
firstNewRow.ItemArray = firstSelectedRow.ItemArray; // copy data
result.Rows.Remove(firstSelectedRow);
result.Rows.InsertAt(firstNewRow, 0);
你有克隆行,刪除它並再次插入一個新的索引。此代碼將索引6的行移至DataTable中的第一位。
你真的想隨機訂購嗎?如果是這樣,隨機只有一次或總是不同?既然你想添加一個專欄,你是否有一個商業邏輯要用於你的訂購? –
@TimSchmelter喜Tim,隨機只有一次。我一直想成爲這樣的人。用戶只需要在該下拉菜單的頂部添加一些條目。 (用戶將成爲用戶)我已經附加了更多關於我想要完成的解釋的圖片。 –
這可能會幫助你http://stackoverflow.com/questions/7801714/how-to-extract-10-random-rows-from-datatable –