RecordGrid での右詰め - Printable Version +- Curl Global Community (https://communities.curl.com) +-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1) +--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2) +--- Thread: RecordGrid での右詰め (/showthread.php?tid=169) |
RecordGrid での右詰め - umemura - 07-29-2011 TextField の右詰めは TextField.halign で実装できますが、 RecordGrid のセルには同実装すればいいのでしょうか。 RecordSet のDomain が int や bool の場合などに、自動的に右詰め、左詰め、センタリングなどが判断されているようですが、 カスタムセルを適用したときに、右詰め、左詰めを制御したいです。 RE: RecordGrid での右詰め - umemura - 07-29-2011 カスタムセルのhaling に設定すれば実現できました。 Curl Corporation\Surge\8\ide\gui\controls\logical-controls\record-grid.scurl を参考にしました。 Code: let type:Type = self.field.domain.type ただ、コンストラクタに記述しても反映されないので、{create-editor} メソッドをオーバーライドして記述しました。 なぜコンストラクタではダメなのかわ分かりません。 ※halign って"right" とかじゃなくて、int でも良いんですね。 RE: RecordGrid での右詰め - umemura - 07-29-2011 スンマセン。このコードじゃないと、1行目しかhaling が適用されないです。 Code: {if type isa NumericType and 理由は、どうやらcreate-editor のなかで作られるフィールドはキャッシュされて利用されるため、 2回目以降セルにフォーカスインしても、create-editor は呼ばれず、 その結果、そのセルのhalign の設定のコードが通らない、ということのようです。 カラムのhalign ならすべてのセルに適用されるので、1回だけcreate-editor が呼ばれればよい、 その意味では、「1行目しか右詰にならない」ではなく、 「最初にフォーカスがあたったセルしか右詰にならない」が正しいですね。 ちなみに、RecordGridColumnのhaling にハードコーディングで指定しても良かったのは知りませんでした。 Code: {RecordGridColumn 恥ずかしい、ホアタ! RE: RecordGrid での右詰め - c-s - 07-29-2011 (07-29-2011, 11:58 AM)umemura Wrote: ただ、コンストラクタに記述しても反映されないので、{create-editor} メソッドをオーバーライドして記述しました。 StandardStringCellは、列中のセル、みんな同じhalignだという前提です。 note-grid-focus-inをオーバーライドすれば、ちゃんと設定出来ると思います。 Code: {method public open {note-grid-focus-in}:void |