Thread Rating:
  • 327 Vote(s) - 2.89 Average
  • 1
  • 2
  • 3
  • 4
  • 5
DropdownList へのListValueItem の設定方法は?
12-19-2013, 09:13 AM,
#1
DropdownList へのListValueItem の設定方法は?
DropdownList に対して、ListValueItem を設定する際に、
下記のコードで設定すると、実行は出来るのですが、
リストを選んだ際に、エラーが発生します。

Code:
def dl = {DropdownList}
def dm =
    {DefaultListModel
        {ListValueItem "a", label = "test-a"},
        {ListValueItem "b", label = "test-b"},
        {ListValueItem "c", label = "test-c"},
        {ListValueItem "d", label = "test-d"}
    }
set dl.data-model = dm


■エラー内容
アプレット [9-34] - DropdownList 内の ListValueItem のラベル '[ListValueItem @0x074141D4]' をクローンできません。の為、例外Errorで停止


しかし、下記のような記述であれば、問題ありませんでした。

Code:
{for itm in dm do
    {dl.append itm}
}

また、DefaultListModel の値が、String であれば、
DoropdownList.data-model に設定しても、問題ありませんでした。
(ただし、ラベル=値 になってしまいますが)

Code:
def dm =
    {DefaultListModel
        "test-a",
        "test-b",
        "test-c",
        "test-d"
    }
set dl.data-model = dm


DoropdownList に ListValueItem を設定する方法としては、
append を使うのが正しい、ということなのでしょうか。
for 文を使わなければいけない、という点に違和感を感じています。

もし、よりシンプルで正しい方法があれば、教えてください。
02-02-2014, 07:13 PM,
#2
RE: DropdownList へのListValueItem の設定方法は?
よりシンプルな設定方法が見つかっていないのでご参考までなのですが

data-modelはListItem そのものではなくListItem.init-valueを格納しているようです。
data-modelに値を登録した場合は関連付けられているListModelControlのlist-item-creation-procが
呼ばれ、登録した値よりListItemを生成してListModelControl.items:{Array-of ListItem}に格納されるので
挙げられているコードだとvalueにListValueItem、labelにVisualとしてListValueItemを設定したListValueItemが
リスト項目として登録され、表示時にlabelがらみでエラーがおきているのでは。

COM.CURL.OPEN.GUI.CONTROL-LOGICAL.ListModelControl.appendのコードを見ると、ListItemが指定された
場合は、list-item-creation-procが呼び出されないようにしつつ、data-modelにListItem.init-value、itemsに
指定されたListItemを登録するということを行っていました。

DropdownList オブジェクトの生成後にリスト項目を一括してappendさせる手法があればよいのですが
残念ながら見つけられていません。






Possibly Related Threads...
Thread Author Replies Views Last Post
  DropdownList のリスト表示のショートカット umemura 1 2,884 02-24-2014, 05:34 PM
Last Post: umemura
  選択後の DropdownList のラベルをカスタマイズしたい umemura 0 2,872 04-02-2013, 05:42 PM
Last Post: umemura
  DropdownList でラベルが選択できない umemura 1 3,416 02-04-2013, 03:49 PM
Last Post: usami
  How to measure ListValueItem.label width in Dropdownlist kingcesc 1 2,941 11-15-2012, 12:07 PM
Last Post: kingcesc
  DropdownList のリストを表示 umemura 4 4,595 11-21-2011, 10:12 AM
Last Post: c-s
  DropdownList のボタンが欲しい umemura 2 3,909 11-21-2011, 10:08 AM
Last Post: c-s
  Dropdownlist: height changes when selected? swan 2 4,336 07-27-2011, 01:32 PM
Last Post: swan
Forum Jump:


Users browsing this thread:
2 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('1019')