1

従業員がシステムから記事を選択できるグリッドパネルがあります。また、2 つのフィールドがあり、従業員はそれらのフィールドにも入力する必要があります。従業員が [追加] ボタン (この場合は EKLE ) をクリックすると、選択されたレコードは、この 2 つのフィールド値 (LEVEL フィールドと VALUE フィールド) を持つバックグラウンド グリッドを追加する必要があります。システムは、フィールド値がなくても正しく機能します。rowexpanderこれらのフィールドの値をプラグインでバックグラウンド グリッドに追加したいと考えています。

ここに画像の説明を入力

ボタン コード

{
text: 'EKLE',
scale: 'medium',
disabled: true,
width: 100,
margin: '0 9 0 0',
cls: 'btn-article-save',
id: 'btnArticleSave',
name: '_btnArticle',
listeners: {
    click: function () {
        var sel = Ext.getCmp('article-grid').getSelectionModel().getSelection();
        Ext.each(sel, function (item, index) {
            arrArticle.push(item);
        });

        arrArticleStore.load();
        Ext.getCmp('articles-grid').getView().bindStore(arrArticleStore);
        Ext.getCmp('articles-grid').show();

        var alevel = Ext.ComponentQuery.query('textfield[name=artLevel]');
        var avalue = Ext.ComponentQuery.query('textfield[name=artValue]');
    }
}
}

バックグラウンド グリッド コード

{
xtype: 'gridpanel',
id: 'articles-grid',
selType: 'rowmodel',
store: arrArticleStore,
elStatus: true,
hidden: true,
columnLines: true,
forceFit: true,
scroll: 'vertical',
width: 730,
height: 394,
columns: [
    {text: 'ARTICLE ID', dataIndex: 'ARTICLE_ID', hidden: true},
    {text: 'ARTİKEL TANIMI', dataIndex: 'ART_DESC', width: 210, flex: 2},
    {
        text: 'VARIANT TANIMI',
        dataIndex: 'SORTEN_TEXT',
        width: 120,
        flex: 1,
        renderer: function (value, metaData, record) {
            if (value == null) {
                return record.get('ART_DESC');
            } else {
                return record.get('SORTEN_TEXT');
            }
        }
    },
    {text: 'VARIANT', dataIndex: 'VAR', width: 72, align: 'center', flex: 0},
    {text: 'GEBI', dataIndex: 'GEBI', width: 72, align: 'center', flex: 0},
    {text: 'SUBSYS', dataIndex: 'SUBSYS_ART_NR', width: 72, align: 'right', flex: 0},
    {
        text: 'DNR ID',
        dataIndex: 'DNR_ID',
        width: 80,
        align: 'center',
        flex: 0,
        renderer: function (value, metaData, record) {
            if (value == 0) {
                return null;
            } else {
                return record.get('DNR_ID');
            }
        }
    },
    {text: 'STATUS', dataIndex: 'STATUS', hidden: true},
    {
        text: 'SİL',
        align: 'center',
        xtype: 'actioncolumn',
        width: 60,
        flex: 0,
        items: [
            {
                icon: '<?php echo img_url(); ?>delete.png',
                tooltip: 'DNR Bilgilerini Görüntüle',
            }
        ]
    }
],
style: {
    fontFamily: 'DINPro-Regular',
    fontSize: '10pt',
    marginBottom: '10px'
},
multiSelect: true,
viewConfig: {
    getRowClass: function (record) {
        if (record && record.get('STATUS') === 1) return 'article-available-row';
    }
}
}
4

0 に答える 0