リスト内にコードが含まれているすべての結果を取得する LINQ クエリがあります。これは正常に機能しますが、コードのリストに従って順序を維持する必要があります。そのため、EnumerableRowCollection が返されると、行はリストにあったのと同じ順序になります。
これが私の現在のコードです:
if (productcodes != "")
{
string[] pcodes = productcodes.Split('|');
// Get most recently viewed first
Array.Reverse(pcodes);
List<int> prodCodes = new List<int>();
foreach (string pc in pcodes)
{
if (pc != "")
{
prodCodes.Add(Convert.ToInt32(pc));
}
}
results = results.Where(d => d["ProductCode"] != DBNull.Value && (int)d["ID"] > 0 && prodCodes.Contains((int)d["ProductCode"])).Select(d => d);
}
したがって、EnumerableRowCollection の結果は、独自のランダムな順序ではなく、List prodCodes と同じ順序にする必要があります。
何か案は?