Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Extjs 3.4向网格行添加按钮(编辑、删除)_Javascript_Extjs - Fatal编程技术网

Javascript Extjs 3.4向网格行添加按钮(编辑、删除)

Javascript Extjs 3.4向网格行添加按钮(编辑、删除),javascript,extjs,Javascript,Extjs,我有网格,每一行中必须有一列带有编辑/删除按钮。当我点击编辑-它必须打开弹出窗口,在这个弹出窗口中必须是一个表格,表格行中有对象字段。当我点击删除按钮时,它必须删除对象(行)。我找不到简单的解决办法 我所做的: columns: [ { header: 'Action', width: 145, sortable: false, renderer: function (value, metaData, record, rowIndex, colIndex, sto

我有网格,每一行中必须有一列带有编辑/删除按钮。当我点击编辑-它必须打开弹出窗口,在这个弹出窗口中必须是一个表格,表格行中有对象字段。当我点击删除按钮时,它必须删除对象(行)。我找不到简单的解决办法

我所做的:

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'
}
]
列:[
{
标题:“操作”,
宽度:145,
可排序:false,
渲染器:函数(值、元数据、记录、行索引、colIndex、存储){
函数createGridButton(值、id、记录、handlerFunc、rowIndex){
新的分机按钮({
文本:值,
值:行索引,
处理程序:handlerFunc
}).render(文档主体、id);
}
变量id='x-btn-container-'+行索引;
延迟(1,这个,['Edit',id,记录,函数(btn,e){
openWindowWithForm();
},rowIndex]);
延迟(2,这个,['Delete',id,记录,函数(btn,e){
警报(“行已删除”);
},rowIndex]);
返回(“”);
},
数据索引:“操作”
},
{
标题:“登录”,
数据索引:“登录”
},
{
标题:“电子邮件”,
数据索引:“电子邮件”
},
{
标题:“FirtsName”,
数据索引:“名字”
},
{
标题:“LastName”,
数据索引:“lastName”
},
{
标题:“生日”,
数据索引:“生日”,
xtype:'datecolumn',
格式:“d/m/Y”
}
]
我已经在第1列中添加了按钮,但如何删除和编辑行,我无法让RowIndex执行此操作。
请帮我解决这个问题

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

  • 它们使用渲染器和特定类创建链接/按钮,如下所示:
  • 他们使用网格
    rowclick
    事件并检查用户单击的位置
  • 如果用户单击了一个具有目标类的项目,宾果:)
请参见此处更正的小提琴:


请输入完整代码,即完整网格对象及其列模型、存储和选择模型。如果可能,请提供一个JSFIDLE。很抱歉,我的表格“style”找不到3.4 extjs样式的cdn谢谢!这正是我需要的。