2008年03月29日

二次元配列をもっとビュー 2

前回の続き。今回はソート機能の実装です。あ、その前に言っておくと、この 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 | このブログの読者になる | 更新情報をチェックする

ここ(hongliang.seesaa.net)で公開しているものについて、利用は自由に行って頂いて構いません。改変、再頒布もお好きになさって下さい。利用に対しこちらが何かを要求することはありません。

ただし、公開するものを使用、または参考したことによって何らかの損害等が生じた場合でも、私はいかなる責任も負いません。

あ、こんなのに使ったってコメントを頂ければ嬉しいです。

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。