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

原创 2013年12月02日 10:33:34
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");
		        	}
		        }
		    }
        }
	});

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

var msgid = test_grid.getSelectionModel().getLastSelected().get('MsgId');

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


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

1. 获取

	function get_MsgIds(){
		var recs = test_grid.getSelectionModel().getSelections();// 获取选择行(一行或多行)的数据集
		var list = [];
		if(recs.length != 0){
			for(var i = 0 ; i < recs.length ; i++){
				var rec = recs[i];// 取得一行
				list.push(rec.get('MsgId'))// 取得该行中的某个属性的值
			}
		}
		return list;
	}
2. 删除按钮

tbar: [
    {text: '删除!',handler: function(){
        var list = get_MsgIds();
        var num = list.length;
        if(num == 0){
            Ext.Msg.alert('提示','请选择删除的数据');
        }else{
            delete(list);
        }
    }}
]
3. 删除

function delete(list){
        var MsgIds = list.join(',');        
        Ext.Ajax.request({
            url: '...',    
            params: {        
                FKeyID: MsgIds 
            },
            method: 'POST',
            success: function(response,options){                   
                var result = Ext.util.JSON.decode(response.responseText);    
            },
            failure: function(response,options){   
            }
        });
    }




相关文章推荐

extjs如何获取Grid中某一行某一列的值

extjs如何获取Grid中某一行某一列的值 举报|  分享| 2013-11-28 15:03wslyc890624 | 浏览 8014 次  软件开发 extjs获取Grid...

ExtJS如何取得GridPanel当前选择行数据对象

有2种方式可以获取GridPanel中当前选中行的数据。 方式一: var selArr = gridPanel.getSelectionModel().getSelection(); var rec...
  • nuccch
  • nuccch
  • 2014年03月22日 00:23
  • 13569

GridPanel中getSelectionModel详解

本文导读:Ext.grid.GridPanel继承自Panel,其xtype为grid,包括了排序、缓存、拖动、隐藏某一列、自动显示行号、列汇总、单元格编辑等实用功能。 当我们需要获取选择的数据时,就...

grid.getSelectionModel()的所有操作

1. var model = grid.getSelectionModel();  2. model.selectAll();//选择所有行  3. model.selectFirstRow();//...

ExtJS grid的dataIndex,store中的field,reader中的field

当一个对象的属性中包含了另一个对象,即外键,如: public class Post implements java.io.Serializable { private String id; ...

ExtJs中grid的dataIndex为传回Json数据的一个对象的一个属性时处理方式

如果从后台传回的json数据为: {standBook:[{"id":1,"operateAction":{"id":1,"name":"减少"},"operateBase":"一号文件","ope...

Ext 表格得到所有行,并得到相应的列值

//取出被所有列值 function getGridValue(gridname){ var grid = Ext.getCmp(gridname); var gri...

Ext中Grid得到选择行数据的方法总结

(1)grid.getStore().getRange(0,store.getCount());    //得到grid所有的行 (2)grid.getSelectionModel().getSele...
  • ljleiwf
  • ljleiwf
  • 2010年07月14日 11:14
  • 5314

Extjs中EditorGridPanel修改并获取数据的两种方式

有时候我们hui
  • A123638
  • A123638
  • 2014年08月15日 13:11
  • 3189

extjs表单直接获取gird一行的数据

微信小程序实战项目——点餐系统      程序员11月书讯,评论得书啦       Get IT技能知识库,50个领域一键直达 在Grid和Form之间进行数据交互 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Extjs4.2 获取行数据的两种方法。
举报原因:
原因补充:

(最多只允许输入30个字)