如何在 extjs 网格中添加动态文本框

Posted

技术标签:

【中文标题】如何在 extjs 网格中添加动态文本框【英文标题】:How Can I add Dynamic Textboxes in extjs grid 【发布时间】:2014-03-12 13:17:09 【问题描述】:

点击按钮后我在页面上有一个按钮,我需要在 extjs 网格中添加行。

该行将包含文本框、组合框、日期字段等控件。

我已经像这样向商店添加了动态行 -

var r = Ext.create('Model', 
                name: 'XYZ',
                email: 'abc@abc.com',
                start: new Date(),
                salary: 50000,
                active: true
            );
            var i = 0;
            page.store.insert(i, r);

但是这样我只能添加记录。我想向网格添加控件。请提出建议。

谢谢,

【问题讨论】:

这些控件是您添加的模型字段的编辑器吗?你能发布你的网格代码吗? 您是否查看过 sencha 文档上的 row / cell 编辑示例 【参考方案1】:

我已经使用了网格行编辑插件来解决这个问题。 在这里,我将行添加到商店并通过编辑插件以编辑模式打开它。 示例代码在这里。

tbar: [
    
        text: 'Add Row',
        iconCls: 'employee-add',
        handler: function () 
            //var Date = new Date();
            //var Time = new Date().getTime() / 1000;

            rowEditing.cancelEdit();

            // Create a model instance
            var r = Ext.create('TagAdjustment',                     
                startDate: Ext.Date.clearTime(new Date()),
                startTime: 10,
                stopDate: Ext.Date.clearTime(new Date()),
                stopTime: 10,
                rampStart: 10,
                rampStop: 10,                
                gen: 10                   
            );

            var selectedRecord = grid.getSelectionModel().getSelection()[0];
            var row = grid.store.indexOf(selectedRecord);

            store.insert(row + 1, r);
            rowEditing.startEdit(row + 1, 0);
        
    ,

【讨论】:

以上是关于如何在 extjs 网格中添加动态文本框的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Extjs 中刷新 GridView?

在 extjs 网格视图中显示文本框

网格视图验证

动态创建同步融合时间表以及网格和文本框

带有文本字段列的 ExtJS Gridpanel

如何在 ExtJS 5 中的网格编辑器组合框的当前记录中添加项目