powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Буду тут про ExtJS спрашивать...
25 сообщений из 82, страница 1 из 4
Буду тут про ExtJS спрашивать...
    #38363648
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страница разделена на две панели, верхнюю и центральную. В верхнюю воткнут статический html с отцентрированной шапкой, содержимое нижней будет формироваться с помощью методов ExtJS.

Вопрос: как отцентрировать и отрезинить содержимое нижней панели аналогично шапке?

HTML:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
<!DOCTYPE html PUBLIC "HTML5">
<html>
    <head>
        <META http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <link rel="stylesheet" type="text/css" href="../ext-4.2.1.883/resources/css/ext-all.css" />
        <script type="text/javascript" src="../ext-4.2.1.883/ext-all.js"></script>
        <script type="text/javascript" src="ExtFK.js"></script>
        <style>
* {margin: 0;padding: 0;}
html, body {height: 100%; width: 100%;}

#wrapper {
    min-width: 950px;
    max-width: 1280px;
    margin: 0 auto;
}

#header {
    height: 100%;
    max-width: 1280px;
}
        </style>
    </head>
    <body>
    <div id="wrapper">
        <div id="header">
            <img id="logo" src="sem/logo.png"/>
            <div id="descr">
                <h2>Организация и сопровождение бизнес-семинаров</h2>
                <br/><br/><br/>
                <font color="#666699">
                    Москва
                </font>
            </div>
            <img id="menubg" src="sem/grad_h.gif"/>
            <div class="menumain">
                <a href="#">Главная</a>
                <a href="#">Семинары</a>
                <A href="#">Адреса конференц-залов</A>
                <A href="#">Реквизиты</A>
            </div>
        </div>
    </div>
  </body>
</html>


JS:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
Ext.Loader.setConfig({
    enabled: true
});
Ext.Loader.setPath('Ext', 'ext-4.2.1.883');
Ext.require([
    'Ext.Msg', 
    'Ext.panel.*'
]);
Ext.onReady(function () {
    var panels = [
        {
            xtype: 'panel',
            region: 'north',
            height: 190,
            contentEl: "wrapper"
        }, 
        {
            xtype: 'panel',
            region: 'center',
            defaultAlign: 't',
            border: 1,
            items: [
                {
                    xtype: 'toolbar',
                    width: 1280,
                    items: [
                        {
                            xtype: 'button',
                            glyph: 61,
                            text: 'test'
                        }
                    ]
                }, 
                {
                    width: 1280,
                    xtype: "Ext.grid.Panel",
                    border: false,
                    columns: [
                        {
                            text: 'Company',
                            flex: 1,
                            sortable: false,
                            dataIndex: 'company'
                        }, 
                        {
                            text: 'Price',
                            width: 75,
                            sortable: true,
                            renderer: 'usMoney',
                            dataIndex: 'price'
                        }
                    ]
                }
            ]
        }
    ];
    var panel = Ext.create('Ext.panel.Panel', {
        renderTo: document.body,
        layout: 'border',
        border: false,
        defaults: {
            border: false
        },
        items: panels
    });
    panel.setSize(window.innerWidth, window.innerHeight);
    window.onresize = function () {
        panel.setSize(window.innerWidth, window.innerHeight);
    };
});

...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38363657
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyкак отцентрировать и отрезинить содержимое нижней панели аналогично шапке?зарендерить не в document.body, а в отцентрированный и отрезиненный див.
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38363664
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал, не резинится. Насколько я понял, чтобы резинилось, нужно чтобы иерархия панелей начиналась непосредственно с body.
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38364563
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С предыдущим вопросом разобрался.

Как изменить размер шрифта у кнопки тулбара и вообще увеличить ее? scale меняет лишь размер иконки, а размер шрифта в cls переопределяется классом .x-btn-default-toolbar-small .x-btn-inner темы.
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38364628
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

И как разобрался?

Можно напрямую стиль в свойствах объекта поменять.
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38364635
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да как ярмеч и сказал, видимо раньше я что-то не то делал.

Напрямую менять стиль или расширять классы западло, нужен штатный метод.
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38366660
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос про грид.

Видел разные варианты, как создать грид, подсовывая ему набор данных или data.Store в конфиг, а как наоборот? Есть грид, жму на кнопку, получаю аяксом данные, как теперь их в грид залить? Не нашел среди методов ничего подходящего.

PS: вопрос про кнопки все еще актуален.
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38366886
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,
не надо ничего в грид "заливать". У грида есть хранилище (Ext.data.Store) , вот в него данные и клади.

Как изменить размер шрифта у кнопки тулбара и вообще увеличить ее?Увеличить кнопку можно задав в конфиге свойства .width / .minWidth и .height .
Размер шрифра - класом
Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
/* ------------------------
конфиг кнопки */
{text:'myButton', cls:'x-btn-mybutton', width:150, height:50}

/* ------------------------
css */
.x-btn-mybutton {
  /* любые стили для тэга div, являющегося 'контейнером' для кнопки*/
}
.x-btn-mybutton .x-btn-inner {
  /* любые стили для тэга span, являющегося 'контейнером' для текста кнопки*/
  font-size:larger;
}
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38367304
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотищаУ грида есть хранилище (Ext.data.Store) , вот в него данные и клади.Как?
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Ext.onReady(function () {
    var toolbar:Ext.toolbar.IToolbar = {
        xtype: 'toolbar',
        items: [...],
    };
    var grid:Ext.grid.property.IGrid = {
        width: 1280,
        xtype: "Ext.grid.Panel",
        constrain: true,
        border: false,
        columns?: [...]
    }

// создаю панель с тулбаром и гридом
    var panel: Ext.panel.IPanel = Ext.create('Ext.panel.Panel', {
        renderTo: "content",
        layout: "auto",
        border: 1,
        items: [toolbar, grid]
    });

    ExtFK.Events.GetEvents(function (data: tblEvents[]) {
        //получил данные. что дальше с ними делать?
    })
});
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38367519
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
/* в конфигурацию грида можно передавать как объект Ext.data.Store, так и как конфигурацию */
//var myStore = Ext.create('Ext.data.Store',{
var myStore = {
  fields:[{name:id,type:'int'}, ... ],
  proxy:{
    type: 'memory',
    reader:{
      type:'json',
      idProperty:'id',
      root: 'data'
    }
  }
};
//});

    var grid:Ext.grid.property.IGrid = {
        width: 1280,
        xtype: "Ext.grid.Panel",
        constrain: true,
        border: false,
        store: myStore, // !! для грида store - обязательный параметр конфига
        columns?: [...] //зависит от того, что за поля у тебя в хранилище, которое этот грид будет отображать
    }

    ExtFK.Events.GetEvents(function (data: tblEvents[]) {
        //получил данные. что дальше с ними делать?
        //твой запрос возвращает объект, имеющий поле data ( массив записей для хранилища )
        var ajaxResponseTextDecoded = Ext.decode( response.responseText )
        store.loadRawData( ajaxResponseTextDecoded );
    })


ЗЫ: документацию хоть читал, или только примеры просмотрел ?
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38367616
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И документацию читал, и примеры смотрел, и яндекс перетряхивал.
Решил сделать по образцу :
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
Ext.define('Events', {
    extend: 'Ext.data.Model',
    fields: ['EventID', 'Date', 'Name', 'Price']
});

Ext.onReady(function () {
    ...

    var myStore = Ext.create('Ext.data.Store', {
        model: "Events",
        proxy: {
            type: 'memory',
            reader: {
                type: 'json',
                idProperty: 'EventID',
                root: 'data'
            }
        }
    });

    var grid:Ext.grid.property.IGrid = {
        width: 1280,
        xtype: "Ext.grid.Panel",
        store: myStore,
        constrain: true,
        border: false,
        columns?: [{ 
            text: 'ID',
            width: 50,
            align: "right",
            dataIndex: 'EventID'
        },...]
    }

    var panel: Ext.panel.IPanel = Ext.create('Ext.panel.Panel', {
        renderTo: "content",
        layout: "auto",
        border: 1,
        items: [toolbar, grid]
    });

});

Панель с тулбаром и гридом вообще перестала создаваться, а в консоль стала падать ошибка из недр extjs, что c.getRootNode is not a function.
C твоим вариантом (без модели) тоже самое.
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38367716
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
Ext.define('Events', {
	extend: 'Ext.data.Model',
	fields: ['EventID', 'Date', 'Name', 'Price']
});

Ext.define('EventsStore', {
	extend: 'Ext.data.Store',
	storeId: 'EventsStore',
	model: 'Events',
	proxy: {
		type: 'memory',
		reader: {
			type: 'json',
			idProperty: 'EventID',
			root: 'data'
		}
	}
});

Ext.onReady(function () {

    var toolbar = {
        xtype: 'toolbar',
        items: ['Йа проста текст ',{text:'Йа кнопко'}]
    };

    var grid = {
        xtype: 'grid',
        width: 1280,
        constrain: true,
        border: false,
        store: Ext.getStore('EventsStore'),
        columns: [{ 
            text: 'ID',
            width: 300,
            align: "right",
            dataIndex: 'EventID'
        }]
    };

    var panel = Ext.create('Ext.panel.Panel', {
        renderTo: 'content',
        layout: 'auto',
        border: 1,
        items: [toolbar, grid]
    });

});


...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38367794
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища,

Не работает. Ext.getStore('EventsStore') возвращает undefined.
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38367853
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,
извини, не проверил. Вот работающий пример.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
Ext.define('Events', {
	extend: 'Ext.data.Model',
	fields: ['EventID', 'Date', 'Name', 'Price']
});

Ext.define('EventsStore', {
	extend: 'Ext.data.Store',
	model: 'Events',
	proxy: {
		type: 'memory',
		reader: {
			type: 'json',
			idProperty: 'EventID',
			root: 'data'
		}
	}
});

Ext.onReady(function () {
	var fnemuLoad=function(button){ //эмулятор загрузки
		//var store = Ext.getCmp('mypanel').down('grid').store;
		var store = button.up('panel').down('grid').store;
		
		//объект, возвращаемый запросом
		var ajaxResponseText = {	
			id:333,
			elseField:'someData',
			data:[{EventID:'evt-100'},{EventID:'evt-241'},{EventID:'evt-320'}]
		};
		store.loadRawData( ajaxResponseText );
	};
	var fnemuClear=function(button){ //очистка хранилища
		//var store = Ext.getCmp('mypanel').down('grid').store;
		var store = button.up('panel').down('grid').store;
		store.removeAll();
	};

    var toolbar = {
        xtype: 'toolbar',
        items: [
			'Йа проста текст ',
			{text:'"Загрузить"',handler:fnemuLoad},
			{text:'"Удавить все"',handler:fnemuClear}
	]};

    var grid = {
        xtype: 'grid',
        width: 1280,
        constrain: true,
        border: false,
        store: Ext.create('EventsStore'),
        columns: [{ 
            text: 'ID',
            width: 300,
            align: "right",
            dataIndex: 'EventID'
        }]
    };

    var panel = Ext.create('Ext.panel.Panel', {
		id:'mypanel',
        renderTo: 'content',
        layout: 'auto',
        border: 1,
        items: [toolbar, grid]
    });

});

...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38367970
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, начал кое-что понимать :)

Здесь 14713441 была ошибка в xtype, нужно grid вместо Ext.grid.Panel. Не помню, откуда я скопипастил конфиг с полным написанием.
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38374670
Фотография maxandsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,
я сильно извиняюсь, что не по теме, нашел ваш ответ по поводу доступа из парент окна к дочернему (javascript)



Вы отвечали что возможно если находятся в одном домене, у меня оба веб приложения в одном домене, но выдает ошибку SCRIPT5: Отказано в доступе.
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38374703
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего не могу сказать, не видя ваше приложение вживую.
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38374706
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы по этому вопросу 14741170 , то я не очень понимаю, как сайт стороннего производителя может находиться в том же домене.
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38374738
Фотография maxandsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
домен внутренний к примеру internal.int одно приложение мое и находиться по адресу app1.internal.int а второе куплено но стоит тоже внутри нашей сети и расположено по адресу app2.internal.int
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38374777
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxandsoftдомен внутренний к примеру internal.int одно приложение мое и находиться по адресу app1.internal.int а второе куплено но стоит тоже внутри нашей сети и расположено по адресу app2.internal.intтут ответили
14741239
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38377892
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какое должно быть значение у datefield.submitFormat, чтобы datefield сабмитил дату в формате ISO8601?
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38377939
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Какое должно быть значение у datefield.submitFormat, чтобы datefield сабмитил дату в формате ISO8601?
http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.form.field.Date-cfg-submitFormat The format must be valid according to Ext.Date.parse .

http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.Date
Код: plaintext
1.
2.
3.
4.
5.
6.
Format      Description                                                               Example returned values
....
------      -----------------------------------------------------------------------   -----------------------
   c         ISO 8601 date
....
 [code=plaintext]

???
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38377952
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, все получилось.
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38377996
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как обновить запись в Store? Есть всякие load, но они только перезаписывают или добавляют данные, а ничего похожего на update не нашел. Смотрел этот пример, не понял, откуда форма знает, какой Store апдейтить.
...
Рейтинг: 0 / 0
Буду тут про ExtJS спрашивать...
    #38378451
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Как обновить запись в Store? Есть всякие load, но они только перезаписывают или добавляют данные, а ничего похожего на update не нашел
Т.е. у тебя ЭстЪ уже какие-то данные, загруженные в Store с серванта. На серванте кто-то рихтонул одну запись и ты хочешЪ, чтобы только она одна и от'refresh'илась (т.е. в response она д.б. одна и Store должен только ее одну и обновить)? Или я тебя неправильно понял?
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 82, страница 1 из 4
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Буду тут про ExtJS спрашивать...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]