![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2011
Сообщений: 59
|
Есть датагрид с переносом текста внутри ячеек. Если набрать много текста появляется много строк в ячейке и текст перестает влазить в ячейку датагрид.
Т.е нужно увеличивать высоту строки датагрид в зависимости от текста(количества строк) в ячейке. Мне показалось проще всего привязать высоту текстфилда в ячейке к высоте строки датагрида и все это повесить на событие конец редактирования ячейки. Думал сделать это примерно так: private function setSizeCell() { var MultiLine = new MultiLineCell; dg.rowHeight = MultiLine.textField.height +30; } public class MultiLineCell extends CellRenderer { var tf:TextFormat = new TextFormat(); public function MultiLineCell() { textField.wordWrap = true; textField.autoSize = "left"; textField.border = true; } } Как получить высоту текстового поля ячейки, которую я только что закончил редактировать? Или возможно кто-то посоветует другое решение. Добавлено через 25 часов 59 минут Если кому интересно, пришлось сделать так: Слушатель: Функция setSizeCell: private function setSizeCell(e:DataGridEvent) {//перенос строки var cellEditor:DataGridCellEditor = dg.itemEditorInstance as DataGridCellEditor; var listData:ListData = cellEditor.listData; if (int(setNumberOfColums.text) < 1) setNumberOfColums.text = '1'; var rowNumber:int = (uint(cellEditor.textField.textWidth)/uint(cellEditor.textField.width)); if (rowPiksel<=40 + (17.5 * rowNumber)){ dg.rowHeight = 40 + (17.5 * rowNumber); rowPiksel = dg.rowHeight;} else if (rowPiksel > 40 + (17.5 * rowNumber)) return; } Последний раз редактировалось Esigns; 16.12.2011 в 17:28. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:29. |
|
|
« Предыдущая тема | Следующая тема » |
|
|