ExtJs——獲取GridPanel中的行數據的詳細信息

首先來一段GridPanel的定義:

	var sm2 = new Ext.grid.CheckboxSelectionModel({});
	/** 定義Grid2的數據源 */
	var personStore = new Ext.data.JsonStore({
		method : "POST",
		fields : ["id","organizationName","holderBirth","holderName","basicCardno","holderTel"]		//與Grid1列一致,至少列名稱一致
	});
	var personColumn = new Ext.grid.ColumnModel([sm2, {
		header : 'ID',
		sortable : true,
		hidden : true,
		dataIndex : 'id'
	}, {
		header : 'organizationName',
		sortable : true,
		hidden : true,
		dataIndex : 'organizationName'
	}, {
		header : '姓名',
		sortable : true,
		dataIndex : 'holderName'
	}, {
		header : '卡號',
		sortable : true,
		dataIndex : 'basicCardno'
	}, {
		header : '生日',
		sortable : true,
		dataIndex : 'holderBirth'
	}, {
		header : '電話',
		sortable : true,
		dataIndex : 'holderTel'
	}]);
	
	var personGrid = new Ext.grid.GridPanel({
		region : 'center',
		title : "出席會議的人員列表",
		height : 200,
		border : true,
		store : personStore,
		tbar: [btn_save, '-', btn_remove, '-', btn_check],
		viewConfig : {
			forceFit : true
		},
		cm: personColumn,
		sm: sm2
	});

比如personGrid中選擇了多行,我們就來獲取這選擇的多行的詳細信息:

			
			/** 組織右側personGrid中的數據,格式:[{id,name};{id,name}] */
			var personStore = personGrid.getStore(); 
			for(var i = 0; i < personStore.getCount(); ) {
				var sublist = "";
				/** 獲取詳細信息*****begin */			
				var holderName = personStore.getAt(i).get("holderName");
				var holderBirth = personStore.getAt(i).get("holderBirth");
				var basicCardno = personStore.getAt(i).get("basicCardno");
				var holderTel = personStore.getAt(i).get("holderTel");
				/** 獲取詳細信息*****begin */				
				sublist = "{holderName:" + holderName + ",holderBirth:" + holderBirth + ",basicCardno:" + basicCardno + ",holderTel:" + holderTel + "}";
				if(i == personStore.getCount() -1) {
					dataList = dataList + sublist;
				}else{
					dataList = dataList + sublist + ";";
				}
				i = i + 1;
			}
			dataList = dataList + "]";



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章