Thread Rating:
  • 428 Vote(s) - 2.78 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RecordGrid での右詰め
07-29-2011, 11:55 AM,
#1
RecordGrid での右詰め
TextField の右詰めは TextField.halign で実装できますが、
RecordGrid のセルには同実装すればいいのでしょうか。

RecordSet のDomain が int や bool の場合などに、自動的に右詰め、左詰め、センタリングなどが判断されているようですが、
カスタムセルを適用したときに、右詰め、左詰めを制御したいです。
07-29-2011, 11:58 AM,
#2
RE: RecordGrid での右詰め
カスタムセルのhaling に設定すれば実現できました。

Curl Corporation\Surge\8\ide\gui\controls\logical-controls\record-grid.scurl を参考にしました。

Code:
let type:Type = self.field.domain.type
    
    {if type isa NumericType and
        type != bool and
        type != char and
        not {set? self.halign}
     then
        set self.halign = 1.0
     elseif type == bool then
        set self.halign = 0.5
    }



ただ、コンストラクタに記述しても反映されないので、{create-editor} メソッドをオーバーライドして記述しました。

なぜコンストラクタではダメなのかわ分かりません。


※halign って"right" とかじゃなくて、int でも良いんですね。
07-29-2011, 01:17 PM,
#3
RE: RecordGrid での右詰め
スンマセン。このコードじゃないと、1行目しかhaling が適用されないです。

Code:
{if type isa NumericType and
        type != bool and
        type != char
     then
        set self.column.halign = 1.0
     elseif type == bool then
        set self.column.halign = 0.5
    }


理由は、どうやらcreate-editor のなかで作られるフィールドはキャッシュされて利用されるため、
2回目以降セルにフォーカスインしても、create-editor は呼ばれず、
その結果、そのセルのhalign の設定のコードが通らない、ということのようです。

カラムのhalign ならすべてのセルに適用されるので、1回だけcreate-editor が呼ばれればよい、
その意味では、「1行目しか右詰にならない」ではなく、
「最初にフォーカスがあたったセルしか右詰にならない」が正しいですね。



ちなみに、RecordGridColumnのhaling にハードコーディングで指定しても良かったのは知りませんでした。

Code:
{RecordGridColumn
         "カラム",
         halign = "right"
}

恥ずかしい、ホアタ!
07-29-2011, 01:32 PM,
#4
RE: RecordGrid での右詰め
(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
    {super.note-grid-focus-in}
    {if-non-null editor = self.current-editor then
        set editor.halign = self.halign
    }
  }


Possibly Related Threads...
Thread Author Replies Views Last Post
  RecordGrid の行の実際の高さの調べ方 kay 2 3,117 03-01-2016, 06:14 PM
Last Post: kay
  RecordGrid でDropdownList を表示 umemura 10 14,859 06-30-2015, 06:52 PM
Last Post: dyoshida
  RecordGrid 列の表示/非表示について Yudai-s 2 4,383 05-19-2015, 06:54 PM
Last Post: Yudai-s
  RecordGrid のセル単位のフォーカス制御方法 kay 2 3,286 03-06-2015, 06:34 PM
Last Post: kay
  RecordGrid のセルのフォーカス可否制御 kay 2 3,579 03-02-2015, 07:56 PM
Last Post: kay
  RecordGrid の縦のスクロールバー umemura 3 5,154 01-20-2014, 10:38 AM
Last Post: umemura
  RecordGrid のパフォーマンスについて umemura 8 12,787 01-06-2014, 02:34 PM
Last Post: umemura
  RecordGrid の NavigationPanel について umemura 2 5,117 08-23-2011, 08:52 AM
Last Post: c-s
  RecordGrid で オートコンプリート umemura 1 4,744 07-29-2011, 10:58 PM
Last Post: umemura
Forum Jump:


Users browsing this thread:
3 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('169')