Кнопки в списке ячеек XUL - PullRequest
       1

Кнопки в списке ячеек XUL

0 голосов
/ 22 сентября 2011

Есть ли способ получить кнопки в списке для работы в XUL?Я не уверен, что мешает ему работать.XUL выглядит следующим образом:

<listitem id = "1">
    <listcell label = "OK Computer"/>
    <listcell label = "Radiohead"/>
    <listcell label = "1997"/>
    <listcell label = "Platinum"/>
    <listcell label = "5/5"/>
    <listcell label = "Alternative Rock"/>  
    <button label = "Edit" oncommand= "alert('Hello World');"/>
    <button label = "Delete" oncommand = "deleteItem();"/>  
</listitem>

Кнопка отлично работает вне списка, но мой указатель мыши даже не распознает ее как кнопку (изменяя указатель руки), когда она находится в списке.Есть идеи?

Ответы [ 2 ]

0 голосов
/ 30 сентября 2014

Кнопки и другие элементы управления могут использоваться в стандартном элементе списка, не требуется использовать richlistbox или дерево. Волшебный трюк - это атрибут allowevents. Возможно, вы также захотите обернуть кнопки в самой ячейке списка, чтобы они получили свой собственный столбец.

<listitem id="1" allowevents="true">
    <listcell label="OK Computer"/>
    <listcell label="Radiohead"/>
    <listcell label="1997"/>
    <listcell label="Platinum"/>
    <listcell label="5/5"/>
    <listcell label="Alternative Rock"/>  
    <listcell>
        <button label="Edit" oncommand="alert('Hello World');"/>
        <button label="Delete" oncommand="deleteItem();"/>  
    </listcell>
</listitem>
0 голосов
/ 22 сентября 2011

Вам нужно поместить кнопки в ячейку списка:

<listcell>
  <button label="Edit" oncommand="alert('Hello World');"/>
</listcell>

Ячейка списка может иметь либо содержимое по умолчанию (это то, что вы получаете, если вы просто добавляете атрибут label без содержимого), либо все, что вы хотите - но для последнего вы фактически должны поместить содержимое в * Тег 1005 * явно.

Редактировать : На самом деле, более важной проблемой является то, что <listbox> довольно ограничен в отношении своего содержимого, в основном он ограничен простым текстом. Именно поэтому был разработан более общий виджет <richlistbox>. Однако он не поддерживает табличное содержимое.

...