Extjs 3.4将按钮(编辑,删除)添加到网格行

时间:2014-08-02 14:22:46

标签: javascript extjs

我有网格,每行必须是一个带有编辑/删除按钮的列。当我单击编辑时 - 必须打开弹出窗口,并且在此弹出窗口中必须是来自网格行的具有对象字符的表单。当我单击删除按钮时,它必须删除对象(行)。我找不到简单的解决方案......

我做了什么:

columns: [
{
    header: 'Action',
    width: 145,
    sortable: false,
    renderer: function (value, metaData, record, rowIndex, colIndex, store) {

        function createGridButton(value, id, record, handlerFunc, rowIndex) {
            new Ext.Button({
                text: value,
                value: rowIndex,
                handler: handlerFunc
            }).render(document.body, id);
        }

        var id = 'x-btn-container-' + rowIndex;

        createGridButton.defer(1, this, ['Edit', id, record, function (btn, e) {
            openWindowWithForm();
        }, rowIndex]);

        createGridButton.defer(2, this, ['Delete', id, record, function (btn, e) {
            alert('Row was deleted');
        }, rowIndex]);
        return ('<div id="' + id + '"></div>');
    },
    dataIndex: 'action'
},
{
    header: 'Login',
    dataIndex: 'login'
},
{
    header: 'Email',
    dataIndex: 'email'
},
{
    header: 'FirtsName',
    dataIndex: 'firstName'
},
{
    header: 'LastName',
    dataIndex: 'lastName'
},
{
    header: 'Birthday',
    dataIndex: 'birthday',
    xtype: 'datecolumn',
    format: 'd/m/Y'
}
]

我已经在第一列中添加了按钮,但是如何删除和编辑行,我无法让RowIndex执行此操作。 请帮忙解决这个问题。

1 个答案:

答案 0 :(得分:1)

以下是人们通常做的事情:

  • 他们使用具有特定类的渲染器创建链接/按钮,如下所示:
  • 他们使用网格rowclick事件并检查用户点击的位置
  • 如果用户点击了具有目标类的项目,宾果:)

请在此处查看更正的小提琴:

http://jsfiddle.net/bubbliscious/4x8LJ/1/