<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Блог маленького, но очень отважного программиста &#187; Ext.grid</title>
	<atom:link href="http://xo66ut.ru/archives/tag/extgrid/feed" rel="self" type="application/rss+xml" />
	<link>http://xo66ut.ru</link>
	<description>PHP, MySQL, Javascript, JQuery, ExtJS, UML, и другие интернетости...…</description>
	<lastBuildDate>Tue, 04 Oct 2011 08:40:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Анонсирован Ext JS 3.3 Beta</title>
		<link>http://xo66ut.ru/archives/469</link>
		<comments>http://xo66ut.ru/archives/469#comments</comments>
		<pubDate>Thu, 29 Jul 2010 06:43:39 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[ExtJS]]></category>
		<category><![CDATA[Sencha]]></category>
		<category><![CDATA[Новости]]></category>
		<category><![CDATA[Component]]></category>
		<category><![CDATA[Ext.grid]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/?p=469</guid>
		<description><![CDATA[В этом релизе сделано более 160 багфиксов и сделано несколько полезных компонентов.
PivotGrid.

&#8220;Первый компонент, который мы хотели бы представить это PivotGrid. Это компонент является инструментом обобщения данных, он идеально подходит для удобной организации больших объемов данных. PivotGrid поможет вам и вашим пользователям суммировать данные любого количества полей, а также легко разбить даннные, например, по параметрам город, [...]]]></description>
			<content:encoded><![CDATA[<p>В этом релизе сделано более 160 багфиксов и сделано несколько полезных компонентов.</p>
<h3>PivotGrid.</h3>
<p style="text-align: center;"><a href="http://sencha.com/deploy/ext-3.3-beta1-6976/examples/pivotgrid/simple.html"><img class="aligncenter" src="http://www.sencha.com/blog/wp-content/uploads/2010/07/pivotgrid.png" alt="PivotGrid" width="250" height="154" /></a></p>
<p>&#8220;Первый компонент, который мы хотели бы представить это PivotGrid. Это компонент является инструментом обобщения данных, он идеально подходит для удобной организации больших объемов данных. PivotGrid поможет вам и вашим пользователям суммировать данные любого количества полей, а также легко разбить даннные, например, по параметрам город, год квартал. Посмотрите на пример по ссылке, там мы суммируем данные о продажах. PivotGrid легко интегрируются в уже существующие магазины, а создаются всего с помощью нескольких строк кода. Мы создали ряд примеров, демонстрирующих различные возможности компонента. Вот небольшой пример как можно создать таблицу из примера.&#8221;</p>
<p><strong>Личное мнение</strong>: Акцентрируется внимание на том, что компонент работает с большими объемами данных, но в примере компонент грузит данные довольно продолжительное время, отсюда возникает вопрос, а есть ли заявленный profit ?</p>
<pre class="brush: jscript;">
var pivotGrid = new Ext.grid.PivotGrid({
    title     : 'PivotGrid example',
    store     : myStore,
    aggregator: 'sum',
    measure   : 'value',

    leftAxis: [
        {dataIndex: 'person',  width: 80},
        {dataIndex: 'product', width: 90}
    ],

    topAxis: [
        {dataIndex: 'year'},
        {dataIndex: 'city'}
    ]
});
</pre>
<h3>Компонент Календарь.</h3>
<p style="text-align: center;"><a href="http://sencha.com/deploy/ext-3.3-beta1-6976/examples/calendar/index.html"><img class="aligncenter" src="http://www.sencha.com/blog/wp-content/uploads/2010/07/calendar.gif" alt="Компонент Calendar" width="250" height="184" /></a></p>
<p>&#8220;Многие разработчики просили нас сделать официальную поддержку компонента Calendar. Календари это открытый вопрос: Есть много способов их реализации и много функций, которые можно добавить. Мы рады вам представить новый компонент для отображения событий за день, неделю и месяц, все они представлены в примере компонента. Также как и с компонентом PivotGrid, новый компонент Calendar предназначен для работы с уже готовым набором данных, что означает легкую интеграцию с уже существующим кодом. Мы пока не включили компонент Calendar в ext-all.js, но включили рабочие версии этих компонентов в examples/calendar директории SDK.&#8221;</p>
<p><strong>Личное мнение</strong>: по функционалу календарь пока значительно уступает проприетарному компоненту sheduler, но решение по разработке собственного компонента, очень хороший шаг, его не хватало.</p>
<h3>Еще кое-что.</h3>
<p style="text-align: center;"><a href="http://sencha.com/deploy/ext-3.3-beta1-6976/examples/grid/array-grid.html"><img class="aligncenter" src="http://www.sencha.com/blog/wp-content/uploads/2010/07/actioncolumn.gif" alt="ActionColumn" width="250" height="159" /></a></p>
<p>&#8220;В дополение к этим двум компонентам в новой версии в Grid появился новый тип столбца ActionColumn. В этом типе столбцов рисуются иконки, к которым можно приписать любые функции для манипуляции с Grid. Например, как показано в примере, на двух кнопках работают функции покупки \ продажи. Как и в предыдущий версиях, обратная совместимость является для нас приоритетной задачей. Для нормальной работы нового компонента PivotGrid были внесены изменения в GridView, который, как известно, являлся причиной некорректного поведения в некоторых ситуациях, но все эти проблемы буду исправлены в финальной версии.&#8221;</p>
<p><em>Источник <a href="http://www.sencha.com/blog/2010/07/28/announcing-ext-js-3-3-beta-pivotgrids-calendars-and-more/" target="_blank">http://www.sencha.com/blog/2010/07/28/announcing-ext-js-3-3-beta-pivotgrids-calendars-and-more/</a></em></p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=469&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/469/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ExtJS добавление в каждую строку Ext.grid функциональной кнопки</title>
		<link>http://xo66ut.ru/archives/242</link>
		<comments>http://xo66ut.ru/archives/242#comments</comments>
		<pubDate>Tue, 23 Mar 2010 10:59:37 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[ExtJS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Ext.grid]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/?p=242</guid>
		<description><![CDATA[Не так давно начал ознакомление с замечательным Javascript Фреймворком ExtJS, главной отличительной особенностью которого является больше количество готовых UI компонентов. Компоненты по умолчанию все стилизованы, поэтому нет необходимости заниматься версткой и рисованием, только JavaScript программирование.
Теперь о задачи которая передо мной встала. Нужно было в компонент Ext.grid добавить в каждую строчку (создать колонку) кнопок при нажатии [...]]]></description>
			<content:encoded><![CDATA[<p>Не так давно начал ознакомление с замечательным Javascript Фреймворком ExtJS, главной отличительной особенностью которого является больше количество готовых UI компонентов. Компоненты по умолчанию все стилизованы, поэтому нет необходимости заниматься версткой и рисованием, только JavaScript программирование.</p>
<p>Теперь о задачи которая передо мной встала. Нужно было в компонент Ext.grid добавить в каждую строчку (создать колонку) кнопок при нажатии на которую происходит вызов окна с параметрами. Опционально можно сделать в этом поле любой объект, допустим кнопку которая удаляет текущую строку.</p>
<p><span id="more-242"></span>Создадим класс который расширит возможности Ext.grid.RowSelectionModel класса строк Ext.grid. Я назвал этот класс Ext.ux.grid.Goto</p>
<pre class="brush: jscript;">
Ext.ns('Ext.ux.grid');

Ext.ux.grid.Goto = Ext.extend(Ext.grid.RowSelectionModel, {
width: 30,
sortable: false,
dataIndex: 0, // Нужно задать полю, потому как в родителе этот параметр не может быть пустым

menuDisabled: true,
fixed: true,
id: 'deleter',

initEvents: function(){
Ext.ux.grid.Goto.superclass.initEvents.call(this);
this.grid.on('cellclick', function(grid, rowIndex, columnIndex, e){
//Проверяем, что нажали именно на нашу ячейку Ext.grid
if(columnIndex==grid.getColumnModel().getIndexById('deleter')) {
var record = grid.getStore().getAt(rowIndex);
//Получаем параметры для вызова окна, это данные из текущей строки Ext.grid
var CampaignStepID = record.get('CampaignStepID');
var SourceID = record.get('SourceID');
var StepName = record.get('CampaignStepName');
//Вызываем функцию которая создаст окно с параметрами
getCampaignStepCard(CampaignStepID, SourceID, StepName, this.desktop);
}
});
},

//Этот метод позволяет нам нарисовать  в каждой ячейке нашей колонки, что мы хотим
renderer: function(v, p, record, rowIndex){
return '&lt;div class=&quot;silk-goto&quot; type=&quot;button&quot; style=&quot;width: 16px; height: 16px;cursor:pointer;&quot;&gt;&lt;/div&gt;';
}
});
</pre>
<p>Далее нам необходимо прицепить к Ext.grid наш плагин.<br />
Создаем новый объект</p>
<pre class="brush: jscript;">
//Добавляем плагин который активирует кнопку перехода в гриде
var GotoButton = new Ext.ux.grid.Goto();

var CampaignListCm = new Ext.ux.grid.LockingColumnModel({
// specify any defaults for each column
columns:
[
{
id: 'id',
header: 'ID',
dataIndex: 'ID',
menuDisabled: false,
hideable: false,
hidden: true,
// use shorthand alias defined above
editor: new Ext.form.TextField({
allowBlank: false
})
},
{
id: 'SourceID',
header: 'SourceID',
dataIndex: 'SourceID',
menuDisabled: false,
hideable: false,
hidden: true,
// use shorthand alias defined above
editor: new Ext.form.TextField({
allowBlank: false
})
},
GotoButton //Наша дополнительная колонка
]
});
</pre>
<p>А в сам Ext.grid добавляем наш плагин как selModel</p>
<pre class="brush: jscript;">
var grid = new Ext.grid.EditorGridPanel({
id: 'CampaignSourceID',
store: CampaignSourceList,
cm: CampaignListCm,
selModel: GotoButton,
stripeRows: true,
columnLines:true,
region: 'center'
});
</pre>
<p>Смотрим на полученный результат</p>
<div class="wp-caption alignnone" style="width: 219px"><img src="http://xo66ut.files.wordpress.com/2010/03/gridbutton.jpg" alt="Special Column in Grid" width="209" height="69" /><p class="wp-caption-text">Row in Grid</p></div>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=242&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/242/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

