前回の続き。今回はソート機能の実装です。あ、その前に言っておくと、この TwoDimensionalArrayView<T> クラスはできる限り DataView に近づけたクラス構成にするつもりです。
さて、ソートの実装自体はそんなに難しいことではないでしょう。まず前回の雛形からソート関連の部分をピックアップします。
private List<TwoDimensionalArrayRowView<T>> arrangedViews;
bool IBindingList.SupportsSorting { get { return false; } }
bool IBindingList.IsSorted {
get { throw new NotSupportedException(); }
}
ListSortDirection IBindingList.SortDirection {
get { throw new NotSupportedException(); }
}
PropertyDescriptor IBindingList.SortProperty {
get { throw new NotSupportedException(); }
}
void IBindingList.ApplySort(PropertyDescriptor property,
ListSortDirection direction) {
throw new NotSupportedException();
}
void IBindingList.RemoveSort() {
throw new NotSupportedException();
}
次に DataView のソート関連のメンバをピックアップ。
public bool ApplyDefaultSort { get; set; }
public string Sort { get; set; }
このうち ApplyDefaultSort は、「PrimaryKey を持っている DataTable の Sort が空のとき」に「PrimaryKey を使ってソートする」かどうか、というプロパティなので二次元配列には関係なし、除外。
続きを読む
posted by Hongliang at 12:31|
Comment(0)
|
TrackBack(0)
|
.NET
|

|