PDA

Просмотр полной версии : itemRenderer


a14
15.12.2009, 22:47
Привет всем!
Есть у меня AdvancedDataGrid. Для одной из колонок создал айтем рендерер, состоящий из Hbox и 2-х кнопок в нем. Вот код для этой колонки:

<mx:AdvancedDataGridColumn id="ActColumn" headerText="Actions" editable="false"
width="75">
<mx:itemRenderer>
<mx:Component>
<mx:HBox horizontalGap="0" horizontalScrollPolicy="off" width="100%" >
<mx:Button click="outerDocument.addItem(event)" label="Add" />
<mx:Button click="outerDocument.deleteItem(event)" label="Delete"/>
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
</mx:AdvancedDataGridColumn>


Вот теперь эти 2 кнопки отображаются в этой колонке и все ок.
Как сделать так, чтобы кнопки показывались только на той строке, которая выделена или подсвечена, а на остальных строках этих кнопок не было, т.е. были пустые поля? Оч. надо!
Спасибо!

Кип
15.12.2009, 23:19
Вместо itemRenderer используйте itemEditor и назначьте этой колонке editable="true".

Но всё же, вы уверены, что прятать кнопки - такая уж хорошая идея? Всё-таки это лишний клик. А при активной работе с таблицей - много лишних кликов...

a14
16.12.2009, 11:18
Спасибо, счас попробую) Прятать кнопки все же нужно. иначе если много записей, то и кнопок становиться много, грид начинает подтормаживать, и в глазах начинает рябить от обилия этих кнопок.

Добавлено через 39 минут
Работает, только когда строка выделена. а когда просто подсвечена, то кнопки не появляются, пользователь может так и не узнать о их существовании. К тому же я сделалал редактирование по дабл-клику. получается надо два раза клаикнуть по полю чтоб они появились. Наверно откажусь от этой идеи. и сделаю просто 2 кнопки в главном окне.