Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Ext.grid / 10 сообщений из 10, страница 1 из 1
27.11.2009, 11:49
    #36335285
Liana_prog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ext.grid
Подскажите, пожалуйста, как при клике на строчку в Ext.Grid создать окно с данными из этой строчки. я сделала так
Код: plaintext
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.
var grid = new Ext.grid.GridPanel({
        store: store,
        sm: smod,
        cm: cmod,
        height:  600 ,
        width:  1200 ,
        title:'Адресная книга',
        stripeRows: true,
        autoExpandColumn:  1 ,
        columnLines:true,
        viewConfig: {
        forceFit: true
      },
      split: true,
      region: 'north'
        
    });
  
grid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) {
        
        var tpl = new Ext.XTemplate(
         '<tpl for=".">',
         '<table width="100%" height="100%" border="0" cellspacing="5" style="font-weight: bold">',
            '<tr><td>Ф.И.О</td><td>{1}</td></tr>',
            '<tr><td>Адрес</td><td>{3}</td></tr>',
            '<tr><td>Телефон</td><td>{4}</td></tr>',
            '</table>',
         '</tpl>'
     );
        
       var Win = new Ext.Window({
            width:  200 ,
            height:  300 ,
            closable: true,
            title: 'Детально',
            items: new Ext.DataView({
             tpl: tpl,
             //loadingText: 'З...',
             overClass:'x-view-over',
             singleSelect: true,
             store: store,
             itemSelector: 'div.grid-dlg'
         }),
         buttons: [{
             text: 'Close',
             handler: function(){
         	Win.hide();
             }
         }],
         keys: [{
             key:  27 ,  
             fn: function(){
         	Win.hide();
             }
         }]
        });
       Win.show();
});
так вот, при клике на строчку , появляется окно, но в нем отображаются данные первой строки из таблицы, а не той, на которую кликала.
Как сделать правильно
...
Рейтинг: 0 / 0
27.11.2009, 12:03
    #36335328
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ext.grid
Liana_prog
Код: plaintext
1.
2.
...
grid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) {
...
Вот выделенная строка и ее номер. Где в коде это используется? Что-то не заметил...
...
Рейтинг: 0 / 0
27.11.2009, 12:06
    #36335337
Liana_prog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ext.grid
Яростный Меч,

я только начинаю изучать Ext js/ Подскажите как правильно использовать?
...
Рейтинг: 0 / 0
27.11.2009, 12:10
    #36335356
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ext.grid
Используйте r из примера в обработчике.
r - это Record , в нем все данные и хранится.
...
Рейтинг: 0 / 0
27.11.2009, 12:11
    #36335362
Liana_prog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ext.grid
Яростный Меч,

а пример можно?
...
Рейтинг: 0 / 0
27.11.2009, 12:24
    #36335405
Liana_prog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ext.grid
никто не сталкивался?
...
Рейтинг: 0 / 0
27.11.2009, 12:31
    #36335436
an0nym
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ext.grid
Liana_prog,

попробуйте
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
new Ext.DataView({
             tpl: tpl,
             //loadingText: 'З...',
             overClass:'x-view-over',
             singleSelect: true,
             store: store,
             itemSelector: 'div.grid-dlg'
         })
заменить на r.
...
Рейтинг: 0 / 0
27.11.2009, 12:42
    #36335472
Liana_prog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ext.grid
an0nym,

не это не правильно
...
Рейтинг: 0 / 0
27.11.2009, 13:08
    #36335544
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ext.grid
Примера под рукой сейчас нет, потому навскидку

Liana_progПодскажите, пожалуйста, как при клике на строчку в Ext.Grid создать окно с данными из этой строчки. я сделала так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 var Win = new Ext.Window({
            width:  200 ,
            height:  300 ,
            closable: true,
            title: 'Детально',
            items: new Ext.DataView({
             tpl: tpl,
             //loadingText: 'З...',
             overClass:'x-view-over',
             singleSelect: true,
             store: store,
             itemSelector: 'div.grid-dlg'
         }),
Думаю, вот здесь вместо items надо указать
Код: plaintext
1.
  html: tpl.apply(r.data),

А шаблон переделать (возможно), чтоб правильно доставал данные из r.data

DataView здесь излишне, оно необходимо, если записей может быть несколько.
...
Рейтинг: 0 / 0
27.11.2009, 13:14
    #36335563
Liana_prog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ext.grid
Яростный Меч,

спасибо большое!!! Все работает
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Ext.grid / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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