如何使用ExtJS 4选择网格面板中的所有行而不使用复选框?

时间:2013-08-05 04:28:10

标签: mysql jsp extjs

我想从网格面板中选择所有行(记录)并将其存储到数据库中。我正在使用ExtJS 4.1.3,JSP,servlet和MySql,我还想从我的数据库中获取所有数据,并使用jsp,servlet在网格中显示它。我经历了很多教程,但这些解决方案对我不起作用。请帮忙。

1 个答案:

答案 0 :(得分:0)

你基本上只是从客户端到服务器端问你的应用程序设计:)。让我们将问题分解成碎片:

让我们假设您有一个rest-endpoint设置来更新MySQL数据库中的数据。如果没有,您将不得不公开由servlet支持的休息调用,它基本上接受HTTP请求参数并将数据存储到您的表中,但我不打算详细讨论它作为一个完全不同的讨论。

对于网格选择和更新问题,您需要先定义网格。因为我假设您有一个选择多个记录的用例。所以基本上,你必须使用多行的选择模型来实例化一个Grid,如下所示:

     var grid = new Ext.grid.GridPanel({
    store: new Ext.data.Store({
        autoDestroy: true,
        reader: reader,
        data: xg.dummyData
    }),
    colModel: new Ext.grid.ColumnModel({
        columns: [
            {header: '1',dataIndex:'1'},
            {header: '2', dataIndex: '2'},
        ]
    }),
    sm: new Ext.grid.RowSelectionModel({
        listeners:{
            rowselect: function(sm, row, rec) {
                Ext.Ajax.request({
                    url: 'foo.php',
                    success: someFn,
                    failure: otherFn,
                    params: { recToBeUpdated: rec }
                });
            }
        }
    }),
    width: 600,
    height: 300,
    frame: true,
    title: 'test',
});

您可以参考官方文档here