Перенос строк в Ext.grid.Panel
Здравствуйте!
Есть ли возможность в гриде сделать перенос строк? Сейчас, если строка по ширине в столбце не умещается, то обрезается с тремя точками на конце. А нужно, чтобы строка переносилась на вторую строку. |
Ext.create('Ext.Window', { title: 'title', height: 150, width: 200, closeAction: 'hide', items: [ { xtype: 'grid', width: '100%', height: 100, store: Ext.create('Ext.data.Store', { fields: ['id', 'name'], data: [ {name: 'мой текст <br>продолжение'}, {name: 'текст'} ] }), columns: [ { header: 'name', dataIndex: 'name', flex: 1 }] }] }).show(); так? |
вот второй вариант, правда немного не стандартный:
<html> <head> <script type="text/javascript" src="js/ext/ext-all.js"></script> <link rel="stylesheet" type="text/css" href="ext/resources/css/ext-all.css"> <style type="text/css"> #grid1 .x-grid-cell-inner { white-space: normal; } </style> <script type="text/javascript"> Ext.onReady(function(){ //------------------- Ext.create('Ext.Window', { title: 'title', height: 300, width: 300, closeAction: 'hide', items: [ { xtype: 'grid', id: 'grid1', width: '100%', height: 200, store: Ext.create('Ext.data.Store', { fields: ['id', 'name'], data: [ {name: 'Многоязычный проект по созданию полноценной и точной энциклопедии со свободно распространяемым содержимым. Любой пользователь может'}, {name: 'текст'} ] }), columns: [ { header: 'name', dataIndex: 'name', flex: 1 }] }] }).show(); //------------------- }); </script> </head> <body> </body> </html> |
Первый не катит. Так как текст уже есть. Не буду же я туда вставлять <br>? Да и не ясно куда их вставлять, так как ширина колонки в общем случае неизвестна.
Второй вариант тоже не катит, ибо это вообще хак. Я вопрос ставил в плане того, может опция есть какая-то? Может я чего упустил. То есть нужна легальная опция типа WRAP = true|false |
Хотя второй вариант похоже самый наилучший.
|
khusamov, кто вам сказал, что второй вариант это хак? хочу поспорить.
во-первых есть возможность вставлять свои css стили, например здесь: http://docs.sencha.com/ext-js/4-1/#!...xt.panel.Panel смотрите в property: cls во-вторых: посмотрите в примерах, компания сама демонстрирует вставку своего css, ну например здесь: http://docs.sencha.com/ext-js/4-1/ex...rray-grid.html |
В примерах они поменяли лишь цвет. А вы поменяли компоновку. Все-таки это куда более серьезное изменение, которое может быть фатальным для последующих обновлений (то есть возможны конфиликты в будущем). Так что полухак тогда уж.
Жаль что лучше варианта пока нет. |
хотите используйте, хотите нет. дело ваше. и опять у меня есть несколько пунктов..
1. бывают проекты, которые нужно делать в срок. и бывает что приходится лепить что первое на ум придет 2. это мощный фреймворк. НО. каким бы он мощным не был, он все равно ограничен возможностями (как и любой другой). например в новой версии появился метод getX() определение положения по X, а вот в ранних версиях этого метода не было. и что делать если он нужен?? выкручиваться разными способами. 3. В каком месте были произведены серьезные изменения? поменял цсс и изменения серьезные??))) я хочу показать еще один пример где они применяют шаблоны: http://docs.sencha.com/ext-js/4-2/ex...-dataview.html в данном примере демонстрируется не только применение цсс но и верстка(шаблон) просто при таком подходе как у вас к созданию проекта, вы будете долго его писать. p.s. в любом случае ЛЮБОЙ проект сразу конфеткой не станет. надо его написать, а потом модернизировать(убедился на собственной шкуре) |
Полностью согласен по всем пунктам)))
Но напомню, что изначально-то вопрос был по документации (типа может я не доглядел где). А так да, придется выкручиваться как вы и написали. По поводу третьего пункта: у меня этих хаков и полухаков уже вагон и маленькая тележка. Конечно хочется без хаков обходиться. Кстати, в примере там не грид же. Там используется Ext.view.View, который изначально задуман для использования верстки. |
Без хаков никуда. яж говорю, что любой фреймворк имеет границы.. и приходится лепить что то невероятное.. если задача выходит за эти границы..
ну если лепить как вы говорите без хаков, то могу предложишь поюзать последний мною вариант, т.к. я больше не знаю что еще можно подсказать.. (тоже не так как вы хотите) вот ссылка: http://docs.sencha.com/ext-js/4-2/ex...d/binding.html |
Часовой пояс GMT +3, время: 04:18. |