開発ブログ - LiveBindings CustomFormat で * と Self を使う
LiveBindings で ListBox に複数のフィールドをつないで表示したい時などがあります。
こんな時には ListBox の Item.Text に * を設定し、FillDisplayCustomFormat に 書式設定を以下のように行います
ToStr(Self.Field1.Value) + '~' + ToStr(Self.Field2.Value)
Item.Text に * をつなごうとしてもうまくできないかもしれません。(XE5ではできなかった)
そんな時はいったん適当なフィールドと Item.Text をつなぎ、
その LinkFillControlToField の FillDisplayFieldName を * に打ちかえます
ちなみに、次のようにもできるかも?
Item.Text に Field1 を設定し
Self.Owner.FieldByName('Field1').Value, Self.Owner.FieldByName('Field2').Value ?
Owner って何?
たとえば PrototypeBindSource に紐づけれらたTObjectBindSourceAdapter の場合は PrototypeBindSourceだった。
ふーん
Self.Options
ってやったら TListAdapterOptions 型といわれたので
Self は TListBindSourceAdapter だとみなされているみたい
Self.FindField('Field1').Value
って書いたらかけたので、やはりそうだと思います
LiveBinding でのカスタム書式設定式およびカスタム解析式の使用
こんな時には ListBox の Item.Text に * を設定し、FillDisplayCustomFormat に 書式設定を以下のように行います
ToStr(Self.Field1.Value) + '~' + ToStr(Self.Field2.Value)
Item.Text に * をつなごうとしてもうまくできないかもしれません。(XE5ではできなかった)
そんな時はいったん適当なフィールドと Item.Text をつなぎ、
その LinkFillControlToField の FillDisplayFieldName を * に打ちかえます
ちなみに、次のようにもできるかも?
Item.Text に Field1 を設定し
Self.Owner.FieldByName('Field1').Value, Self.Owner.FieldByName('Field2').Value ?
Owner って何?
たとえば PrototypeBindSource に紐づけれらたTObjectBindSourceAdapter の場合は PrototypeBindSourceだった。
ふーん
Self.Options
ってやったら TListAdapterOptions 型といわれたので
Self は TListBindSourceAdapter だとみなされているみたい
Self.FindField('Field1').Value
って書いたらかけたので、やはりそうだと思います
LiveBinding でのカスタム書式設定式およびカスタム解析式の使用