Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.03.2013, 17:31
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Перенос строк в Ext.grid.Panel
Здравствуйте!

Есть ли возможность в гриде сделать перенос строк?

Сейчас, если строка по ширине в столбце не умещается, то обрезается с тремя точками на конце. А нужно, чтобы строка переносилась на вторую строку.
Ответить с цитированием
  #2 (permalink)  
Старый 03.04.2013, 14:07
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

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();



так?
Ответить с цитированием
  #3 (permalink)  
Старый 03.04.2013, 14:17
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

вот второй вариант, правда немного не стандартный:
<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>
Ответить с цитированием
  #4 (permalink)  
Старый 03.04.2013, 15:50
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Первый не катит. Так как текст уже есть. Не буду же я туда вставлять <br>? Да и не ясно куда их вставлять, так как ширина колонки в общем случае неизвестна.

Второй вариант тоже не катит, ибо это вообще хак.

Я вопрос ставил в плане того, может опция есть какая-то? Может я чего упустил.

То есть нужна легальная опция типа WRAP = true|false
Ответить с цитированием
  #5 (permalink)  
Старый 03.04.2013, 15:51
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Хотя второй вариант похоже самый наилучший.
Ответить с цитированием
  #6 (permalink)  
Старый 03.04.2013, 16:41
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

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
Ответить с цитированием
  #7 (permalink)  
Старый 03.04.2013, 17:57
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

В примерах они поменяли лишь цвет. А вы поменяли компоновку. Все-таки это куда более серьезное изменение, которое может быть фатальным для последующих обновлений (то есть возможны конфиликты в будущем). Так что полухак тогда уж.

Жаль что лучше варианта пока нет.
Ответить с цитированием
  #8 (permalink)  
Старый 03.04.2013, 20:36
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

хотите используйте, хотите нет. дело ваше. и опять у меня есть несколько пунктов..

1. бывают проекты, которые нужно делать в срок. и бывает что приходится лепить что первое на ум придет

2. это мощный фреймворк. НО. каким бы он мощным не был, он все равно ограничен возможностями (как и любой другой). например в новой версии появился метод getX() определение положения по X, а вот в ранних версиях этого метода не было. и что делать если он нужен?? выкручиваться разными способами.

3. В каком месте были произведены серьезные изменения? поменял цсс и изменения серьезные??))) я хочу показать еще один пример где они применяют шаблоны:
http://docs.sencha.com/ext-js/4-2/ex...-dataview.html
в данном примере демонстрируется не только применение цсс но и верстка(шаблон)

просто при таком подходе как у вас к созданию проекта, вы будете долго его писать.

p.s. в любом случае ЛЮБОЙ проект сразу конфеткой не станет. надо его написать, а потом модернизировать(убедился на собственной шкуре)
Ответить с цитированием
  #9 (permalink)  
Старый 03.04.2013, 21:00
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Полностью согласен по всем пунктам)))
Но напомню, что изначально-то вопрос был по документации (типа может я не доглядел где).
А так да, придется выкручиваться как вы и написали.

По поводу третьего пункта: у меня этих хаков и полухаков уже вагон и маленькая тележка. Конечно хочется без хаков обходиться.

Кстати, в примере там не грид же. Там используется Ext.view.View, который изначально задуман для использования верстки.
Ответить с цитированием
  #10 (permalink)  
Старый 03.04.2013, 22:15
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

Без хаков никуда. яж говорю, что любой фреймворк имеет границы.. и приходится лепить что то невероятное.. если задача выходит за эти границы..

ну если лепить как вы говорите без хаков, то могу предложишь поюзать последний мною вариант, т.к. я больше не знаю что еще можно подсказать.. (тоже не так как вы хотите) вот ссылка:
http://docs.sencha.com/ext-js/4-2/ex...d/binding.html
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое удаление строк таблицы Tankist Events/DOM/Window 16 03.07.2013 16:42
тэг font, перенос по словам и отступы между строк maloun365 (X)HTML/CSS 1 14.11.2012 22:52
Ext.grid.Panel - получить количество записай (строк) ??? potkin ExtJS 6 14.04.2012 18:19
Opera nowrap запретить перенос строк, div ... Gozar (X)HTML/CSS 12 11.04.2012 21:24
Добавление строк в текущий документ deerstop Общие вопросы Javascript 11 24.09.2009 23:17