Как отобразить флажок в Ext.grid.GridPanel? - PullRequest
0 голосов
/ 11 июля 2011

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

Некоторые примеры кода мне очень помогут.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 11 июля 2011

Это пример из одного из моих проектов:

Ext.define('Magellano.view.news.List' ,{
    extend: 'Ext.grid.Panel',
    alias : 'widget.newslist',

    store: 'News',
    remoteSort: false,

    dockedItems: [{
      xtype: 'toolbar',

      items: [{
        text: 'Online',
        id: 'online-button',
        enableToggle: true,
        icon: '/images/light-bulb.png',
        pressed: true,
        handler: onItemToggle 
      }, { text: 'Preview',
        id: 'preview-button',
        enableToggle: true,
        pressed: true
      }],

    initComponent: function() {
      this.selModel = Ext.create('Ext.selection.CheckboxModel', {
        singleSelect: false,
        sortable: false,
        checkOnly: true
      });

      this.columns = [
        { text: '', width: 28, renderer: function(val) { return "<img src='/images/star-empty.png' height='16' width='16'></img>"}},
        { text: 'Date', width: 60, dataIndex: 'newstime', renderer: renderDate},
        { text: 'Agency', width: 60, dataIndex: 'agency',  renderer: function(val) { return val;}},
        { text: 'Category', width: 60, dataIndex: 'category',  renderer: function(val) { return val;}},
        { text: 'Title', flex: 1, dataIndex: 'title', 
          renderer: function(val) { return Ext.String.format('<b>{0}</b>', val); }
        }
      ];

          this.title = "News from " + Ext.Date.dateFormat(new Date(), "j M Y");
          this.callParent(arguments);
        }
}

Важной частью является то, что в initComponent вы создаете модель выбора:

  this.selModel = Ext.create('Ext.selection.CheckboxModel', {
    singleSelect: false,
    sortable: false,
    checkOnly: true
  });
0 голосов
/ 11 июля 2011

Пожалуйста, проверьте эту ссылку: Extjs Grid plugins . Вы можете проверить источники для второй сетки.

Также вам необходимо прослушать событие selectionchange для модели выбора сетки - так что вы выберете строки, а затем сможете отправить запрос на сервер или все, что вам нужно.


Если вам нужен определенный столбец (не первый) - вы можете проверить эту ссылку: Флажок в сетке


И я думаю, что здесь тоже самое: как добавить столбец флажка в Extjs Grid

...