Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > Ext.grid.GridPanel


Автор: maxyc 25.9.2009, 12:52
Не могли бы пример подсказать, как вместо ДуммыДата использовать данные json с сервера? 
Код

< script>
    // shared reader
    var reader = new Ext.data.ArrayReader({}, [
       {name: 'username'},
       {name: 'lastActivity'},
       {name: 'regDate'},
       {name: 'userGroup'},
       {name: 'action'}
    ]);


    // Array data for the grids
    Ext.grid.dummyData = [
        ['<img width="50" src="/img/Admin/no_avatar.png" align="left"/><img src="http://gyazo.com/e1d5644c257bc8738e82148c2a012a4a.png"/><b>Гречушников Максим</b> (MaXyC Webber)','28/03/1986','28/03/2006', 'Администратор', '<img src="http://gyazo.com/3eb8ef475eb8b3718c321423b0164d47.png" align="left" /> <img src="http://gyazo.com/9594fe540dae3f59c1aaa1a1219fa093.png" align="left" />'],
        ['<img width="50" src="/img/Admin/no_avatar.png" align="left"/><img src="http://gyazo.com/a7cc0467f9c9005fa2453024e8eda311.png"/><b>Гречушникова Татьяна</b> (Tayana)','28/03/1986','28/03/2006', 'Супер модератор', '<img src="http://gyazo.com/3eb8ef475eb8b3718c321423b0164d47.png" align="left" /> <img src="http://gyazo.com/9594fe540dae3f59c1aaa1a1219fa093.png" align="left" /> <img src="http://gyazo.com/ee2668b641b519ab8bcb346309a1b58e.png" align="left" />'],
        ['<img width="50" src="/img/Admin/no_avatar.png" align="left"/><img src="http://gyazo.com/a7cc0467f9c9005fa2453024e8eda311.png"/><b>Вадим</b> (bass)<br><em style="color: red">Забанен 01.01.1970; Причина:</em> Слишком умный!','28.03.1986','28.03.2006', 'Супер модератор', '<img src="http://gyazo.com/3eb8ef475eb8b3718c321423b0164d47.png" align="left" /> <img src="http://gyazo.com/9594fe540dae3f59c1aaa1a1219fa093.png" align="left" /> <img src="http://gyazo.com/ee2668b641b519ab8bcb346309a1b58e.png" align="left" />'],

    ];

    var grid = new Ext.grid.GridPanel({
        store: new Ext.data.GroupingStore({
            reader: reader,
            data: Ext.grid.dummyData,
            sortInfo:{field: 'username', direction: "ASC"},
            groupField:'userGroup'
        }),

        columns: [
            {id:'username',header: "Имя пользователя", width: 140, sortable: true, dataIndex: 'username'},
            {header: "Последняя активность", width: 100, sortable: true, dataIndex: 'lastActivity'},
            {header: "Дата регистрации", width: 100, sortable: true, dataIndex: 'lastActivity'},
            {header: "Группа пользователей", width: 100, sortable: true, dataIndex: 'userGroup'},
            {header: "&nbsp;", width: 50, dataIndex: 'action'}
        ],

        view: new Ext.grid.GroupingView({
            forceFit:true,
            groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "пользователя(ей)" : "пользователь"]})'
        }),

        frame:true,
        height: 600,
        title: 'Список пользователей онлайн',
        iconCls: 'icon-grid',
        renderTo: 'userList'
    });
< /script>
<div id="userList"></div>

Автор: Nofate 25.9.2009, 13:02
нужно задать ридер и прокси.

см. http://hutten.org/bill/extjs/2009/05/gridpanel-from-json-data.html 

Автор: ferryman 25.9.2009, 13:05
Код

var store = new Ext.data.JsonStore({
                            id:'id',
                            root:'rows',
                            url:'http://example.com/json.php',
                            fields:[{name: 'username'},
                                       {name: 'lastActivity'},
                                       {name: 'regDate'},
                                       {name: 'userGroup'},
                                        {name: 'action'}]
        });

 var grid = new Ext.grid.GridPanel({
        store: store,
        columns:[.....]

Код

store.load();




И сформировать json в json.php

Автор: maxyc 25.9.2009, 13:15
помоему немного не то.... щас опишу

Добавлено через 6 минут и 49 секунд
в моем случае не просто gridpanel
store: new Ext.data.GroupingStore({

вот в этот сторе и надо все запихать

Автор: ferryman 25.9.2009, 14:22
Как то так. не проверял

Код

var reader = new Ext.data.ArrayReader({}, [
                               {name: 'username'},
                                       {name: 'lastActivity'},
                                       {name: 'regDate'},
                                       {name: 'userGroup'},
                                        {name: 'action'}
    ]);

var store = new Ext.data.GroupingStore({
            reader: reader,
            sortInfo:{field: 'username', direction: "ASC"},
            groupField:'userGroup',
            proxy:new Ext.data.HttpProxy({
                      url:'http://example.com/json.php'
            });
        });

 var grid = new Ext.grid.GridPanel({
        store: store,
        columns:[.....]


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)