EXTJS 4.2 资料 控件之Grid 添加行,编辑行,删除行

   //SiteVariableConfigValue类,创立一个模型类
    Ext.define("SiteVariableConfigValue", {
        extend: "Ext.data.Model",
        fields: [
          { name: ‘SVCValueId‘, type: ‘int‘, sortable: true },
          { name: ‘SVCId‘, type: ‘string‘, sortable: true },
          { name: ‘KeyInItem‘, type: ‘string‘, sortable: true },
          { name: ‘ValueInItem‘, type: ‘string‘, sortable: true }
        ]
    });

    var storeSiteVariableConfigValue = Ext.create(‘Ext.data.Store‘, {
        model: ‘SiteVariableConfigValue‘,//这个地方CarAccessoriesType不是一个对象,而是一个类
        pageSize: limit,  //页容量20条数据
        //是否在服务端排序 (true的话,在客户端就不能排序)
        remoteSort: false,
        remoteFilter: true,
        method: ‘POST‘,
        proxy: {//代理
            type: ‘ajax‘,
            url: ‘/UI/HttpHandlerData/InformationManagement/InformationManagement.ashx?operation=SearchInfoCollection1‘,
            extraParams: {
                start: start,
                limit: limit
            },
            reader: {   //这里的reader为数据存储组织的地方,下面的配置是为json格式的数据,例如:[{"total":50,"rows":[{"a":"3","b":"4"}]}]//读取器
                type: ‘json‘, //返回数据类型为json格式
                root: ‘Table‘,  //根节点
                totalProperty: ‘result‘ //数据总条数
            }
        },
        sorters: [{
            //排序字段。
            property: ‘SVCValueId‘,
            //排序类型,默认为 ASC
            direction: ‘desc‘
        }],
        autoLoad: true  //即时加载数据
    });

    var rowEditing = Ext.create(‘Ext.grid.plugin.RowEditing‘, {
        clicksToMoveEditor: 1,
        autoCancel: false
    });

    var gridSiteVariableConfigValue = Ext.create(‘Ext.grid.Panel‘, {
        store: storeSiteVariableConfigValue,
        autoWidth: true,
        aotuHeight: true,
        animCollapse: false,
        enableColumnMove: false,
        enableHdMenu: false,
        loadMask: true,
        loadMask: {
            msg: ‘正在载入数据,请稍候...‘
        },
        viewConfig: {
            forceFit: true,
            stripeRows: true
        },
        forceFit: true, //列表宽度自适应
        stripeRows: true,//斑马线
        autoSizeColumns: true, //根据每一列内容的宽度自适应列的大小
        trackMouseOver: true, //鼠标移动时高亮显示
        selModel: { selType: ‘checkboxmodel‘ },   //选择框
        scroll: true,
        layout: ‘column‘,    // Specifies that the items will now be arranged in columns
        columnWidth: 0.60,
        plugins: [rowEditing],
        columns: [
                    { header: ‘序号‘, xtype: ‘rownumberer‘, align: ‘left‘, width: 50 },
                    {
                        header: ‘键‘, dataIndex: ‘KeyInItem‘, width: 200, editor: {
                            // xtype: ‘textfield‘
                        }
                    },
                    {
                        header: ‘值‘, dataIndex: ‘ValueInItem‘, width: 200, editor: {
                            // xtype: ‘textfield‘
                        }
                    },

        ],
        bbar: [{
            xtype: ‘pagingtoolbar‘,
            store: storeSiteVariableConfigValue,
            displayMsg: ‘显示 {0} - {1} 条,共计 {2} 条‘,
            emptyMsg: "没有数据",
            beforePageText: "当前页",
            afterPageText: "共{0}页",
            displayInfo: true
        }],
        tbar: [{
            text: ‘添加‘,
            icon: ‘/Resources/Images/16x16_easyui/edit_add.png‘,
            handler: function () {
                rowEditing.cancelEdit();
                var r = Ext.create(‘SiteVariableConfigValue‘, {
                    KeyInItem: ‘这里是键‘,
                    ValueInItem: ‘这里是值‘
                });

                gridSiteVariableConfigValue.getStore().insert(0, r);
                rowEditing.startEdit(0, 0);
            }
        }, {
            text: ‘删除‘,
            icon: ‘/Resources/Images/16x16_easyui/edit_remove.png‘,
            handler: function () {
                Ext.MessageBox.confirm(‘Confirm‘, ‘确定删除该记录?‘, function (btn) {
                    if (btn != ‘yes‘) {
                        return;
                    }
                    var sm = gridSiteVariableConfigValue.getSelectionModel();
                    rowEditing.cancelEdit();
                    var store = gridSiteVariableConfigValue.getStore();
                    store.remove(sm.getSelection());
                    if (store.getCount() > 0) {
                        sm.select(0);
                    }
                });
            },
            disabled: true
        }]
    });
时间: 2024-10-07 10:07:27

EXTJS 4.2 资料 控件之Grid 添加行,编辑行,删除行的相关文章

EXTJS 4.2 资料 控件之Grid 那些事

最近在学习Extjs4.2 ,积累文章,看得不错,再此留年: //表格数据最起码有列.数据.转换原始数据这3项 Ext.onReady(function(){ //定义列 var columns = [ {header:'编号',dataIndex:'id',width:50}, //sortable:true 可设置是否为该列进行排序 {header:'名称',dataIndex:'name',width:80}, {header:'描述',dataIndex:'descn',width:11

EXTJS 4.2 资料 控件之Grid Columns 列renderer 绑定事件

columns: [ { header: '序号', xtype: 'rownumberer', align: 'center', width: 100 }, { header: 'CompanyId', dataIndex: 'CompanyId', width: 100, hidden: true }, { header: '商家名称', dataIndex: 'CompanyName', width: 200 }, { header: '商家英文名称', dataIndex: 'Compa

EXTJS 4.2 资料 控件之Grid 列鼠标悬停提示

columns: [ { header: '序号', xtype: 'rownumberer', align: 'left', width: 50 }, { header: '货位编号', dataIndex: 'StorePosCode', width: 100 }, { header: '货位名称', dataIndex: 'StorePosName', width: 100, renderer: function (v, ctx, record) { ctx.tdAttr = " data

EXTJS 3.0 资料 控件之 html 潜入label用法

这是在Extjs 中插入html 控件label! html: "<div><label id='howMany'>您共选中了</label><br/></div>"获取label值:document.getElementById('howMany').innerText赋值label值:document.getElementById('howMany').innerText = "这是赋值"; docum

EXTJS 3.0 资料 控件之 combo 用法

EXTJS combo 控件: 1.先定义store //年款 var comboData_ReleasYear = [ ['0', '2010'], ['1', '2011'], ['2', '2013'], ['3', '2014'] ]; 2.定义combo控件 { layout: 'form', labelWidth: 50, width: 260, items: [{ xtype: 'combo', name: 'ReleasYear', allowBlank: false, fiel

EXTJS 4.2 资料 控件之radiogroup 的用法

最近在EXTJS4.2开发项目,radiogroup的用法,主要是和grid之间的编辑功能:看了好多资料都不对,特此在这里备注记录 代码如下, 1.这是一段Win窗体上的两个单选按钮,设置单选按钮都是选择“是” a. { xtype: 'fieldcontainer', layout: 'hbox', defaults: { flex: 1 }, items: [{ xtype: 'radiogroup', fieldLabel: '手机验证', width: 100, items: [ { b

EXTJS 3.0 资料 控件之 Store 用法

最近工作,发现在Extjs中自定义Store的功能挺多,特意在此做笔记,几下来,具体代码如下: 1.定义Store //定义Store var ItemSelectorStore = new Ext.data.ArrayStore({ fields: [ { name: 'BaseInfoId' }, { name: 'Title' } ] }); 2.根据Grid的数据,循环往Store里面插 var rows = grid.getSelectionModel().getSelections(

EXTJS 4.2 资料 控件之checkboxgroup的用法

代码判断 { xtype: 'panel', width: 750, border: false, flex: 1, items: [{ xtype: 'checkboxgroup', id: 'lblOperationBehavior', name: 'lblOperationBehavior', itemCls: 'x-check-group-alt', columns: 4, fieldLabel: '设定权限', labelWidth: 100, width: 750, align: '

EXTJS 3.0 资料 控件之 GridPanel属性与方法大全

1.Ext.grid.GridPanel 主要配置项: store:表格的数据集 columns:表格列模式的配置数组,可自动创建ColumnModel列模式 autoExpandColumn:自动充满表格未用空间的列,参数为列id,该id不能为0 stripeRows:表格是否隔行换色,默认为false cm.colModel:表格的列模式,渲染表格时必须设置该配置项 sm.selModel:表格的选择模式,默认为Ext.grid.RowSelectionModel enableHdMenu: