Ext学习日记 grid使用

写了简单的几个关于grid的使用,记录一下学习成果吧。 synopsis:in this demo ,have tow grid panle, in the first one ,there are six functions :add a new row ,delete the selected row,get the spcified row data ,get the selected row data, the event for get the value when the row is selected,and renderer a customer function to a column

 Ext.onReady(function(){   var Plant = Ext.data.Record.create([        {name: 'name',mapping:'name', type: 'string'},        {name: 'occupation', type: 'string'}   ]); var reader = new Ext.data.XmlReader({  record: 'row',        id: 'id',        totalRecords: 'results' },Plant);     // create the Data Store    var store = new Ext.data.Store({        url: 'data.xml',        reader: reader,        remoteSort: true    });    var store1 = new Ext.data.Store({        url: 'data.xml',        reader: reader,        remoteSort: true    });    var sm = new Ext.grid.CheckboxSelectionModel({                 singleSelect: true,                 listeners: {                     rowselect: function(sm, row, rec) {                        alert("sm"+sm+"rowindex="+row+"name="+rec.get("name")+"occupation="+rec.get("occupation"));                     }                 }             });    function setUl(value)    {      return '<a style="color:red;">'+ value + '</a>';    };    var cm = new Ext.grid.ColumnModel([      sm,     {header: "name", width: 120, dataIndex: 'name', sortable: true},     {header: "occupation", width: 180, dataIndex: 'occupation', sortable: true,renderer :setUl}    ]);    /    //grid GridPanel    ///    // create the grid    var grid = new Ext.grid.GridPanel({     id:'grid',        store: store,        cm:cm,        sm: sm,        renderTo:'grid-example',        width:540,        height:200,        title:'addnewrow',        tbar :[{         text: 'Add Row',         handler : function(){          var  p = new Plant({           name:'newname',           occupation:'newoccupation'          });          grid.stopEditing();          store.insert(0, p);          grid.startEditing(0, 0)         }},         {          text:'getValue',          handler:function(){           //get one row's record then get the colum's value           var gs = grid.getStore();           var r = gs.getAt(1);           var v1 = r.get('name');           alert(v1);          }         },         {          text:'getSelectedRowValue',          handler:function(){           //get the selected row's value           var cs = grid.getSelectionModel();           var ifs = cs.hasSelection();           if(ifs)           {            var cr = cs.getSelected();            var v1 = cr.get('name');            alert(v1);           };          }         },         {          text:'deleteSelectedRow',          handler:function(){           //get the selected row's value           var cs = grid.getSelectionModel();           var ifs = cs.hasSelection();           if(ifs)           {            var cr = cs.getSelected();            store.remove(cr);           };          }         }        ],         bbar: new Ext.PagingToolbar({            pageSize: 3,            store: store,            displayInfo: true,            displayMsg: 'Displaying topics {0} - {1} of {2}',            emptyMsg: "No topics to display"        })    });    grid.render();    store.load();    /    //grid1 EditorGridPanel    ///    var cme = new Ext.grid.ColumnModel([      sm,     {header: "name", width: 120, dataIndex: 'name', sortable: true,editor: new Ext.form.TextField({               allowBlank: false           })},     {header: "occupation", width: 180, dataIndex: 'occupation', sortable: true,editor: new Ext.form.TextField({         allowBlank: false     })}    ]);    var grid1 = new Ext.grid.EditorGridPanel({        store: store1,        cm:cme,        renderTo:'grid-example',        width:540,        height:200,        title:'addneweditorrow',        tbar :[{         text: 'Add Edit Row',         handler : function(){          var  p = new Plant({           name:'newname',           occupation:'newoccupation'          });          grid1.stopEditing();          store1.insert(0, p);          grid1.startEditing(0, 0);         }        }],         bbar: new Ext.PagingToolbar({            pageSize: 3,            store: store1,            displayInfo: true,            displayMsg: 'Displaying topics {0} - {1} of {2}',            emptyMsg: "No topics to display"        })    });    grid1.render();    store1.load();});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值