Ext.onReady(function(){
//var sm = new Ext.grid.CheckboxSelectionModel({handleMouseDown: Ext.emptyFn});
var sm = new Ext.grid.CheckboxSelectionModel({handleMouseDown: Ext.emptyFn});
var cm = new Ext.grid.ColumnModel([
//new Ext.grid.RowNumberer(),
new Ext.grid.RowNumberer(),//显示行号
sm,
{header: '编号',dataIndex: 'id', sortable:true} ,
{header: '名称',dataIndex: 'name'},
{header: '时间',dataIndex: 'date'},
{id:'descn', header: '描述', dataIndex: 'descn'}
]);

var data = [
['1','name1','2010-11-22','descn1'],
['2','name2','2010-11-23','descn2'],
['3','name3','2010-11-24','descn3'],
['4','name4','2010-11-25','descn4'],
['5','name5','2010-11-26','descn5'],
['6','name11','2010-11-27','descn11'],
['7','name21','2010-11-28','descn21'],
['8','name31','2010-11-29','descn31'],
['9','name41','2010-11-30','descn41'],
['10','name51','2010-12-1','descn51'],
['11','name15','2010-12-2','descn15'],
['12','name1','2010-12-3','descn1'],
['13','name2','2010-12-4','descn2'],
['14','name3','2010-11-1','descn3'],
['15','name4','2010-11-2','descn4'],
['16','name5','2010-11-3','descn5'],
['17','name11','2010-11-4','descn11'],
['18','name21','2010-11-5','descn21'],
['19','name31','2010-11-6','descn31'],
['20','name41','2010-11-7','descn41'],
['21','name51','2010-11-8','descn51'],
['22','name15','2010-11-9','descn15'],
['23','name1','2010-11-10','descn1'],
['24','name2','2010-11-11','descn2'],
['25','name3','2010-11-12','descn3'],
['26','name4','2010-11-13','descn4'],
['27','name5','2010-11-14','descn5'],
['28','name11','2010-11-15','descn11'],
['29','name21','2010-11-16','descn21'],
['30','name31','2010-11-17','descn31'],
['31','name41','2010-11-18','descn41'],
['32','name51','2010-11-19','descn51'],
['33','name15','2010-11-20','descn15'],
['34','name51','2010-11-19','descn51'],
['35','name15','2010-11-20','descn15']
];

var store = new Ext.data.Store({
proxy: new Ext.data.PagingMemoryProxy(data),
reader: new Ext.data.ArrayReader({},[
{name: 'id'},
{name: 'name'},
{name: 'date'},
{name: 'descn'}
])
});


var grid = new Ext.grid.GridPanel({
autoHeight: true,
renderTo: 'grid',
store:store,
stripeRows: true,//斑马线
cm:cm,
sm: sm,
bbar: new Ext.PagingToolbar({
pageSize: 10,
store: store,
displayInfo: true,
displayMsg: '显示第{0}条到{1}条记录,一共{2}条',
emptyMsg: "没有记录"
}),

viewConfig:{
columnsText: '显示的列',
forceFit: true, 
sortAscText: '升序',/*调试成可用的*/
sortDescText: '降序'
},
autoExpandColumn: 'descn'
});
store.load({params:{start:0, limit:10}});
//删除某一行
Ext.get("record_Delete").on('click',function(){
alert(grid.getSelectionNode().getSelectedCell()) 
//store.remove(store.getAt(store.selectedIndex));
});
});
我想问一下我怎样删除checkbox选中的某一行和 选中的多行,甚至是全选的,谢谢大家了,分不够可以再加

解决方案 »

  1.   


    //删除选中的行
    var rs = grid.getSelectionModel().getSelections();
        var Ids = [];//要删除的id
        for (var i = 0; i < rs.length; i++) {
           Ids.push(rs[i].id);
        }
    Ext.Ajax.request({
     url: "",
     method: "POST",
     params: { Ids: Ids.join(",") },
     success: function(response, opts) {
       if (Ext.decode(response.responseText).success === true) {
         grid.getStore().reload();
       }
    }); 
                                                                            
      

  2.   


    var recode = grid.getSelectionModel().getSelected();

    store.remove(recode);//删除行 来个简单点的,整的那么复杂
      

  3.   


    var win = new Ext.Window({
        title: "添加",
        width: 400, height: 250,
        buttonAlign: "center",
        constrain: true, layout: "fit",
        items: {
            xtype: "form", bodyStyle: "padding:10px;", labelWidth: 60,
            items: [{
                layout: "column", border: false,
                items: [
                    { layout: "form", items: { xtype: "textfield", name: "", fieldlabel: "编号", anchor: "90%" }, columnWidth: .5 },
                    { layout: "form", items: { xtype: "textfield", name: "", fieldlabel: "名称", anchor: "90%" }, columnWidth: .5 },
                ]
            },
            {
                layout: "column", border: false,
                items: [
                    { layout: "form", items: { xtype: "datefield", name: "", fieldlabel: "时间", anchor: "90%" }, columnWidth: .5 },
                    { layout: "form", items: { xtype: "textfield", name: "", fieldlabel: "备注", anchor: "90%" }, columnWidth: .5 },
                ]
                }]
            },
            buttons: [
            { text: "提交", handler: function() {
                win.get(0).form.submit({
                    url: "",
                    success: function(form, action) {                }
                })
            }
            },
            { text: "关闭", handler: function() { } }
        ]
        })
      

  4.   

    我大致看了一下,楼主可以这样做比较简单,每次来操作data的数据,在load一遍就可以了,比如添加一条数据的话就在data数组中加入一条数据,store.load()重新load一下就可以了,至于删除修改,同样可以用操作数组的方法来操作,查看的话也是一样,只是那时把标签的属性设置成readonly true就可以了