还有下面的合计行的数值 15  150  550 都要分别取出来  咋办?我的代码如下  var cm = new Ext.grid.ColumnModel([
                sm,
                new Ext.grid.RowNumberer(),
                { header: '编号', dataIndex: 'id', width: 50, sortable: true, editor: new Ext.grid.GridEditor(new Ext.form.TextField({ allowBlank: false })) },
                { header: '货物名称', dataIndex: 'hwmc', width: 60, sortable: true, editor: new Ext.grid.GridEditor(new Ext.form.TextField({ allowBlank: false })) },
                { header: '件数', dataIndex: 'js', summaryRenderer: renderjs, width: 100, sortable: true, editor: new Ext.grid.GridEditor(new Ext.form.TextField({ allowBlank: false })) },
                { header: '单价', dataIndex: 'djj', width: 100, summaryRenderer: renderdjj, softable: true, editor: new Ext.grid.GridEditor(new Ext.form.TextField({ allowBlank: false })) },
                { header: '纯运费', dataIndex: 'cyf', width: 100, summaryRenderer: rendercyf, sortable: true, editor: new Ext.grid.GridEditor(new Ext.form.TextField({ allowBlank: false })) }            ]);            var data = [
                ['1', 'name1', '1', '10', '10'],
                ['2', 'name2', '2', '20', '40'],
                ['3', 'name3', '3', '30', '90'],
                ['4', 'name4', '4', '40', '160'],
                ['5', 'name5', '5', '50', '250']
            ];
            var Record = Ext.data.Record.create([
                { name: 'id', type: 'string' },
                { name: 'hwmc', type: 'string' },
                { name: 'js', type: 'int' },
                { name: 'djj', type: 'float' },
                { name: 'cyf', type: 'float' }            ]);            var ds = new Ext.data.Store({
                proxy: new Ext.data.MemoryProxy(data),
                reader: new Ext.data.ArrayReader({}, [
                    { name: 'id' },
                    { name: 'hwmc' },
                    { name: 'js' },
                    { name: 'djj' },
                    { name: 'cyf' }                ])
            });            ds.load();            var summary = new Ext.ux.grid.GridSummary();            var grid = new Ext.grid.EditorGridPanel({
                plugins: summary,
                el: 'grid',
                width: 600,
                height: 200,
                sm: new Ext.grid.RowSelectionModel({ singleSelect: true }),
                ds: ds,
                cm: cm,
                clicksToEdit: 1,
                frame: true,
                listeners: {
                    afteredit: function(val) {
                        val.record.set("cyf", val.record.get("js") * val.record.get("djj"));                    }
                },

解决方案 »

  1.   

    直接从 var data 中去取就可以了
    遍历二维数组
    for(var i=0;i<data.lenth;i++){
       for(var j=0;j<data[i].lenth;j++){
            data[i][j]
       }
    }
      

  2.   

    hookee 这样是可以取到grid的值 但是我是要传给iframe页面的 我需要单独的取到hwmc0 hwmc1 hwmc2  js0,js1,js2 ....再拼接成字符串(用Ext的API, Ext.getCmp("xx_id").getValue()一个个取值,然后自己拼接字符串格式,最后赋值给innerHTML)这是你说的啊
    主表 我已经可以了 
    现在就是货物明细表 也要传给iframe  但是你这样的话 我无法用getCmp("id").getValue()来取值再拼接啊 这个要怎么做呢?
      

  3.   

    从数据源中去取
    var arr1=[],arr2=[],arr3=[],arr4=[];
    for(var i=0;i<store.getCount();i++){
       arr1.push(store.getAt(i).get("hwmc0"));//货物名称
       arr2.push(store.getAt(i).get("hwmc0"));//件数
       arr3.push(store.getAt(i).get("hwmc0"));//单价
       arr4.push(store.getAt(i).get("hwmc0"));//纯运费
    }
    alert(arr1.toString());
      

  4.   

    现在是 修改前的值 可以获取了 那修改后的值 获取不了 
    我要做到的是 editorgrid中的值变动 获取的值也是变动后的值
      

  5.   

    afteredit是修改了数据源的。3楼的取值是修改后的
      

  6.   


    谢谢zoujp_xyz  问题已经得到解决现在我用var yjyfhj = Ext.getCmp("yjyfhj").getValue();  得到了小写的金额  
    怎么把他转为大写的金额呢?
      

  7.   

    对 
    比如我var yjyfhj = Ext.getCmp("yjyfhj").getValue();    取值的结果是1000  转为大写就是
    壹仟元整
      

  8.   

    对了 还有就是这个editorgrid怎么和主表一起保存到数据库 
      AddPublishForm.form.submit({
                                        url:"URL/jydbh/savejydinfo.aspx",
                                      
                                        success:function(form,action){
                                            Ext.MessageBox.alert("提示","添加新的交易单成功!");
                                            PublishInfoStore.reload();
                                                                               },这个是保存的代码 现在主表的数据已经可以保存了 ,但是从表也就是editorgrid中的数据怎么一起保存呢?
    我不想主表和从表分开保存(就是在editorGrid的toolbar上增加一个保存的按钮)就是如图那样 一按保存 就主从表的数据一起保存了