Extjs4.2 获取行数据的两种方法。

来源:互联网 发布:奇兔刷机软件有毒 编辑:程序博客网 时间:2024/05/18 00:22

    var test_grid = Ext.create('Ext.grid.Panel',{              id: 'test_grid_id',              columns: [                  {text: "MsgId", dataIndex: 'MsgId',hidden: true},                  {text: "Read", dataIndex: 'Read',hidden: true},                  {text: "Subject", flex: 1, dataIndex: 'Subject',renderer: gridformat}              ],              listeners: {                  selectionchange : function(model, records) {                      if (records != 'undefined' && records.length > 0) {                          var Subject = records[0].data.Subject;      //获取行数据                          alert(Subject);                                                    var Read = records[0].data.Read;        //获取行数据                          if(Read == "true"){                              alert("true");                          }else{                              alert("false");                          }                      }                  }              }          });  


上边是行单机事件,如果通过点击某行实现删除等功能,就需要用到

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. var msgid = test_grid.getSelectionModel().getLastSelected().get('MsgId');  

在Extjs4.2版本中,grid.getSelectionModel().getSelections();已不再适用。


下边放一个Extjs4.2之前版本的获取行数据的办法,可获取多行数据。此例可适用于多行删除。

1. 获取

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. function get_MsgIds(){  
  2.     var recs = test_grid.getSelectionModel().getSelections();// 获取选择行(一行或多行)的数据集  
  3.     var list = [];  
  4.     if(recs.length != 0){  
  5.         for(var i = 0 ; i < recs.length ; i++){  
  6.             var rec = recs[i];// 取得一行  
  7.             list.push(rec.get('MsgId'))// 取得该行中的某个属性的值  
  8.         }  
  9.     }  
  10.     return list;  
  11. }  
2. 删除按钮
[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. tbar: [  
  2.     {text: '删除!',handler: function(){  
  3.         var list = get_MsgIds();  
  4.         var num = list.length;  
  5.         if(num == 0){  
  6.             Ext.Msg.alert('提示','请选择删除的数据');  
  7.         }else{  
  8.             delete(list);  
  9.         }  
  10.     }}  
  11. ]  
3. 删除方法
[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. function delete(list){  
  2.         var MsgIds = list.join(',');          
  3.         Ext.Ajax.request({  
  4.             url: '...',      
  5.             params: {          
  6.                 FKeyID: MsgIds   
  7.             },  
  8.             method: 'POST',  
  9.             success: function(response,options){                     
  10.                 var result = Ext.util.JSON.decode(response.responseText);      
  11.             },  
  12.             failure: function(response,options){     
  13.             }  
  14.         });  
  15.     } 
0 0
原创粉丝点击