|
前のページ
|
3/3|
最初のページ
裏技(というほどでもないケド)
.wooを直接編集して、Display Group Optionパネルでは設定できないことを設定することもできます。
例えば、WODisplayGroupを用いているコンポーネントの.wooファイルの中には、
|
sortOrdering = ({class = EOSortOrdering; key = title; selectorName = " compareAscending:"; });
|
というような行があります。Display Group Optionパネルでは、リレーション先の項目をソートキーとして指定することはできませんが、ここで"title"を書き換えてやることで任意の項目を指定することができます。たとえば、studio.nameと書いてやれば、studioリレーション先のnameをキーとしてソートされます。
さらに、
|
sortOrdering = ({class = EOSortOrdering; key = category; selectorName = " compareAscending:"; }, {class = EOSortOrdering; key = title; selectorName = "compareAscending:"; });
|
と書くことで、category + titleでマルチキーのソートを行わせることもできます。compareAscending:をcompareDescending:に置き換えれば、降順になります。
同じことをプログラム上でやろうとすると
|
NSMutableArray sorts = new NSMutableArray();
sorts.addObject(EOSortOrdering.sortOrderingWithKey(
"category",EOSortOrdering.CompareAscending));
sorts.addObject(EOSortOrdering.sortOrderingWithKey(
"title", EOSortOrdering. CompareAscending));
displayGroup.setSortOrdering (sorts);
|
などと書かなくてはなりません。これよりは簡単……でもないか(笑)。
他にもいろいろと設定項目がありますので、いじってみてください。ただし、WebObjectsのバージョンなどによっては仕様が異なることがあります。あくまで、ご自身の責任において実験してくださいませ。
その他
一度定義したWODisplay Groupを削除する際には、Project Builderでソース上のインスタンスを削除するのではなくて、WOBuilderのEdit Sourceメニューからdelete…を用いて削除してください。ソースだけ削除しても、上記の.woo上の定義が残ってしまっている場合があるからです。大きなデータベースを対象にしてfetch on loadが残ったままになっていたりすると、ソース上は何も処理をしていないのに起動時にやたらと重いというナゾの事態に陥るハメになります。
もちろん、やってしまった場合には、.wooを開いて該当する定義を削除すればいいのですが。
セミナー予告
またセミナーやります。
6月2〜6日に東京品川区、6月16-20日に大阪市北区、という日程です。どちらもWebObjectsの初級2日、中級2日、ピンポイントセミナー1日、という構成です。ピンポイントセミナーでは今回は“ブロッグ”ことWebLogをテーマにします。Webアプリとしては比較的簡単な部類に属しますが、公開系と管理系にわかれていたり、ユーザー権限による管理が要求されたり、画像その他のコンテンツ管理が必要だったりと、Webアプリケーション構築に必要な要素を一通り含んでおり、効率のいい開発手法を学ぶ上で適切な規模だと思います。
また、Apple Developer's Connectionのselect/premierメンバーの方は、10/15%の割引料金で受講していただくことができます。
詳細については、弊社Webをご参照ください。
WebObjectsのページ
[倉橋浩一, ITmedia]
前のページ
| 3/3 | 最初のページ
|