zoukankan      html  css  js  c++  java
  • Extjs4.2.0 Grid

    向服务器更新一个单元格,网上大多数教程是以下写法,构建参数然后AJAX提交给服务器处理

    grid单元格编辑,获取单元格对应 列名:eOpts.column.text

    列数:this.up('grid').view.headerCt.getColumnCount()


    EXTJS4 gridpanel中动态的显示/隐藏某个列
     

    在extjs3中,大家知道用

    myGrid.getColumnModel().setHidden(i,true);

    但到了4.0后,已经没有getColumnModel这个方法了,我们在Ext.panel.Table看到以下片段

    if (headerCtCfg instanceof Ext.grid.header.Container) {
                me.headerCt = headerCtCfg;
                me.headerCt.border = border;
                me.columns = me.headerCt.items.items;
    }

    也就是grid.columns已经保存了所有的gridcolumn,不需要再去get了,呵呵

    结论:

    grid.columns[i].hide()/show()

    或者

    grid.columns[i].setVisible(false/true);
            function onEdit_grid_fy(e, eOpts) {
    
                // 等同判断 rec.raw.fieldName == rec.data.fieldName
                if (eOpts.originalValue == eOpts.value)
                    return;
                // 获取被修改字段对应主表的主键值
                var markets_zy_Fid = formPanel.getForm().getValues().Fid;
                // 获取被修改字段对应的行主键值
                var id = eOpts.record.get('Fid');
                // 获取被修改字段名称string
                var field = eOpts.field;
                // 获取修改后的新值
                var value = eOpts.value;
                // 构建请求参数
                var editCellData = {
                    markets_zy_Fid : markets_zy_Fid,
                    ID : id,
                    Fld : field,
                    value : value
                }
                Ext.Ajax.request({
                            url : 'S/xs_markets/xs_markets_fy.data.asp?act=editCell',
                            scope : eOpts,
                            async : false,
                            params : {
                                editCellData : Ext.JSON.encode(editCellData)
                            },
                            success : function(response, opts) {
                                // 操作成功,更新本地数据
                                var obj = Ext.decode(response.responseText);
                                // 新增数据则填充表单Fid值
                                if (obj.act == "createRecord") {// 如果是新增
                                    this.record.set("Fid", obj.newId);
                                }
                                this.record.commit();// 修改或新增
                            },
                            failure : function(response, opts) {
                                console.log('server-side failure with status code '
                                        + response.status);
                            }
                        });// end ajax
    
            }
  • 相关阅读:
    兼容FF IE的回车事件
    WP7页面的数值传递和对象传递
    简单实用选项卡
    离情切
    放在最前面
    Linux MySQL主从复制(Replication)配置
    C语言h文件头中的变量初始化
    verilog HDL 重复运算的问题
    SOPC构架双视频TFT液晶IP核
    用FPGA实现视频中物体边缘二值化
  • 原文地址:https://www.cnblogs.com/xsSystem/p/3096935.html
Copyright © 2011-2022 走看看