1. 程式人生 > >Extjs 表格分組 grid grouping 獲取某一分組

Extjs 表格分組 grid grouping 獲取某一分組

對於分組表格,要想獲取到分組的某一個分組

var courseStore=Ext.create('Ext.data.Store',{
		   storeId:'courseStore',
		   fields:['Name','Type','Credit','Period','Teacher'],
		   autoLoad:{start:0,limit:itemsPerPage},
		   pageSize: itemsPerPage,
		   groupField:'Type',
//		   data:{'items':[
//		   	{'Name':'SQL深入詳解','Type':'必修','Credit':'3','Period':'6周','Teacher':'zhang'},
//		   	{'Name':'SQL深入詳解','Type':'必修','Credit':'3','Period':'6周','Teacher':'zhang'},	   	
//		   	]},
		   	proxy:{
			   	  type:'ajax',
			      url:'json/course.json',
			   	  
			   	  reader:{
			   	    type:'json',
			   	    root:'items',
			   	    totalProperty:'counts'
			   	  }
			}
		});
	
	var sm=Ext.create("Ext.selection.CheckboxModel",{
		mode:'MULTI',
		checkOnly:true,
		renderer:function(value,metaData,record,rowIndex,colIndex,store,view){
		    var type=record.get("Type");
		    if(type=="必修"){
		    	return  '';
		    }else{
		    	return '<div class="' + Ext.baseCSSPrefix + 'grid-row-checker"> </div>';
		    }
		    
	    }
	    
	});
	var courseGrid=Ext.create('Ext.grid.Panel',{
	       store:courseStore,
	       selModel:sm,
	       multiSelect:true,
	       viewConfig:{
		       forceFit:true,
		       scrollOffset: 0
	      },
	      features:[
	   	         Ext.create("Ext.grid.feature.Grouping",{
	   	        	 groupHeaderTpl:'課程型別:{name}(共有{rows.length}門)',
	   	        	 startCollapsed:false
	   	         })
	   	                
	   	    ],
	       columns:[
	         {header:'課程名',dataIndex:'Name',flex:2},
	         {header:'型別',dataIndex:'Type'},
	         {header:'學分',dataIndex:'Credit'},
	         {header:'學時',dataIndex:'Period'},
	         {header:'代課老師',dataIndex:'Teacher'},
	       ],
	       listeners:{
	    	  viewready:function(grid,eOpts){
	    	      var hd_checker =grid.getEl().select('.x-column-header-checkbox');
	 	    	  var hd = hd_checker.first();
	 	          if (hd_checker.hasCls('x-column-header-checkbox')) {   
	 	                hd_checker.removeCls('x-column-header-checkbox'); 0// 去掉全選框
	 	          }   
	 	          hd.destroy();
	           }
	    	  
	      }
	       
	});
Extjs4.x提供了getGroups,可以傳遞groupName,也就是store中配置的groupField的值
var myStore = Ext.create('Ext.data.Store', {
    groupField: 'color',
    groupDir  : 'DESC'
});

myStore.getGroups(); //returns:
[
    {
        name: 'yellow',
        children: [
            //all records where the color field is 'yellow'
        ]
    },
    {
        name: 'red',
        children: [
            //all records where the color field is 'red'
        ]
    }
]

//確認選擇的課
	function selectCourseOk(){
		var mustSelectCount;//必修個數,必須選擇
		var records=courseStore.getGroups("必修").children; //返回是model[]
		mustSelectCount=records.length;
		alert(mustSelectCount);
		courseGrid.getSelectionModel().selectRange(0,mustSelectCount-1,true);
		var recordes=courseGrid.getSelectionModel().getSelecion();  //返回Model[]
		
	}


相關推薦

Extjs 表格分組 grid grouping 獲取分組

對於分組表格,要想獲取到分組的某一個分組 var courseStore=Ext.create('Ext.data.Store',{ storeId:'courseStore', fields:['Name','Type','Credit','Perio

獲取表格一行列的值

這裡的eq是從0開始的,下面的這句話意思是取id=“cetrlist ”的第2行第2列的值。 var tt = $("#cetrlist tr:eq(1) input:eq(1)").val(); 取值可能為“”,也有可能是undefined if ($("#cetrlis

PHP -- 七牛雲 在線視頻 獲取幀作為封面圖

pan ram mp4 str targe set .com 在線視頻 。。 ### 最近碰到視頻處理,需要視頻封面? 但用的是七牛雲存儲視頻,索性搜了一下,怎麽獲取視頻的某一幀作為視頻的封面圖。。。 發現了七牛官網又自身的接口 ### https://develope

C#獲取路徑下的所有文件名信息(包括子文件夾)

txt 技術 ont getc des lena ssa rect cati 貼代碼了,這裏使用的是C#控制臺輸出文件名到記事本中,文件名使用逗號隔開: using System; using System.IO; namespace ConsoleApplicatio

Telnet HTTP獲取張網頁HTML的寫法

回車 我們 一個 雙引號) htm .html com 步驟 寫法 1、cmd -> telnet www.webkaka.com 802、按組合鍵:ctrl + ] ,然後回車3、輸入"GET / HTTP/1.1"(無雙引號),註意第一個“/”前後有空格,然後回車

JS獲取-天是某個時間段內的 第幾周,星期幾

    最近做課程表,要將所有課程顯示到一個課程格子裡,預設載入本週課程,於是就需要知道本週是這個學期的第幾周,引出本文主要內容:     首先,這個學期的開始時間是要知道的,然後根據學期的開始時間計算本週是第幾周,今天是星期幾。

利用C++獲取資料夾下的所有檔名,並獲取不帶字尾的檔名字

來源:https://www.cnblogs.com/fnlingnzb-learner/p/6424563.html 那麼到底如何查詢檔案呢?我們需要一個結構體和幾個大家可能不太熟悉的函式。這些函式和結構體在<io.h>的標頭檔案中, 結構體為struct _finddata_t

java 集合分組,集合根據條件分組,封裝成map形式

集合中為物件,根據物件中的某一屬性值分組   例子 1、實體類:構造方法、get/set方法、toString方法省略 public class User { private String id; private String name;

thinkphp實現獲取條資料,前端頁面獲取這條資料時不用遍歷獲取值,直接呼叫這條資料

首先獲取這條資料的id值: $cate_id = (int) $this->_param('cate_id'); 其次:獲取屬於這個id值的那條資料(根據前端需要獲取這條資料的那個欄位,$cate_name) $cate_name = D('ele_cate')->where

c#如何獲取名稱空間下的所有的類的資訊

如果是當前下的。用Assembly.GetExecutingAssembly().GetTypes(); 如果是外部DLL,用Assembly.Load("namespace").GetTypes(); 原理是反射,所以上面一定要加上using System.Reflect

獲取一月有多少天

方法一:獲取當前月份有多少天 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt

php獲取年的工作日列表

<?php //節假日 $holidays = [ '20160101', '20160208', '20160209', '20160210', '20160211', '20160212', '20160304',

Repeater獲取項的id

 <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">            <ItemTemplate>                

19 01 11 javascript 獲取種元素(所有的標籤) 以及字串處理的方法

獲取元素方法二 可以使用內建物件document上的getElementsByTagName方法來獲取頁面上的某一種標籤,獲取的是一個選擇集,不是陣列,但是可以用下標的方式操作選擇集裡面的標籤元素。 注意 拿出來的是一個數組   所以不能直接進行操作 <script ty

js獲取天是星期幾

function oneDay(y,m,d){ var myDate=new Date(); myDate.setFullYear(y,m-1,d); var week =

js 獲取年的所有自然周

<html> <head> <title></title> <meta charset="UTF-8" /> </head> <body> <script>

c++獲取目錄下的所有檔案

#include <dirent.h> void FindFiles(string root ,vector<string> &files){ DIR *dir;

原生js如何獲取元素的高度

一般有三種方法: 1.document.getElementById("id").style.height,這種方法的前提是必須之前已經顯示的在css中宣告過height,才能取得正確的值 2.doc

獲取特定Activity例項的方法

獲取記憶體中可能存在的特定Activity例項 如何判斷某一 Activity 的例項 在當前記憶體中是否存在,這樣做的意義在於,當我們想要在某個 Activity 存在時,不讓某一事件發生。換

JAVA獲取天是當月第幾天,獲取本週第一天的日期

/** * 判斷選擇的日期本月的第幾天 */ public int getWeeksByChooseDay(){ return calSelected.get(Calendar.DAY_OF_MONTH); }/** * 獲取本週的第一天是多少號 以