2
我已經鍵入了兩個表之間具有1:N關係的數據集。 子表具有'Order'列,用於將數據加載到數據集中時用於在SP中進行排序(ordery by)。據我所知,使用數據集時無法保證此順序。 我需要父行的GetChildRows,並確保行按特定順序定義在列中。 現在我以下:以正確的順序獲取數據集子行
class Program
{
static void Main(string[] args)
{
DataSet1 ds = new DataSet1();
//load data
DataSet1.ParentTableRow parentRow = ds.ParentTable.FindByID(1);
DataSet1.ChildTableRow[] childRows = parentRow.GetChildTableRows();
Array.Sort<DataSet1.ChildTableRow>(childRows, new ChildTableCoparer());
//Enumerate fields is right order
}
}
public class ChildTableCoparer : IComparer<DataSet1.ChildTableRow>
{
public int Compare(DataSet1.ChildTableRow x, DataSet1.ChildTableRow y)
{
if (x.Order > y.Order) return 1;
if (x.Order < y.Order) return -1;
return 0;
}
}
有沒有更好的辦法瞭如何使用GetChildRows時,爲了保證()?