Checkbox Selection Grid

To make the grid rows selectable, you need to install the ezEditTable extension, enable the selectable property and configure the ezEditTable configuration object (ezEditTable_config). This demo shows how to :

Note: keyboard navigation and selection are disabled in this demo.

 Id Name Email Start Date Salary
 35886Employee name...employee@email.com2011-01-010.00
 35885Employee name...employee@email.com2011-01-010.00
 35884Employee name...employee@email.com2011-01-010.00
 35883Employee name...employee@email.com2011-01-010.00
 35882dfdfhfghemployee@email.com2011-01-010.00
 35881Employee name...employee@email.com2011-01-010.00
 35879dokter afadf dfadokter_dark@email.com2011-01-011000.00
 358781212121employee@email.com2011-01-010.00
 35877é&21employee@email.com2011-01-010.00
 35875Employee name...employee@email.com2011-01-010.00
 35874Employee name...employee@email.com2011-01-010.00
 35873Employee name...employee@email.com2011-01-010.00
 35872Employee name...employee@email.com2011-01-010.00
 35871Employee name...employee@email.com2011-01-010.00
 35870Employee name...employee@email.com2011-01-010.00
 35869employee@email.com2012-01-0112.36
 35865titiemployee@email.fr2011-01-0110.00
 35864employee@email.com2011-01-010.00
 35860employee@email.com2011-01-012.33
 35859employee@email.com2011-01-0125.55
 35851free@email.com2011-01-010.00
 35848asdemployee@email.com2011-01-010.00
 35847Employee name...employee@email.com2011-01-010.00
 35846Employee name...employee@email.com2011-01-010.00
 35845Employee name...employee@email.com2011-01-010.00
 35844Employee name...employee@email.com2011-01-010.00
 35843Employee name...employee@email.com2011-01-010.00
 35842Employee name...employee@email.com2011-01-010.00
 35841Employee name...employee@email.com2011-01-010.00
 35840Employee name...employee@email.com2011-01-010.00
 35839Employee name...employee@email.com2011-01-010.00
 35838Employee name...employee@email.com2011-01-010.00
 35837asdfasdfemployee@email.com2011-01-010.00
 35836Employee name...employee@email.com2011-01-010.00
 35835Employee name...employee@email.com2011-01-010.00
 35834Employee name...employee@email.com2011-01-010.00
 35833Employee name...employee@email.com2011-01-010.00
 35832Employee name...employee@email.com2011-01-010.00
 35831Employee name...employee@email.com2011-01-010.00
 35830Employee name...employee@email.com2011-01-010.00
 35829Employee name...employee@email.com2011-01-010.00
 35828Employee name...employee@email.com2011-01-010.00
 35827Employee name...employee@email.com2011-01-010.00
 35826asdfasdfemployee@email.com2011-01-010.00
 35825Employee name...employee@email.com2011-01-010.00
 35824Employee name...employee@email.com2011-01-010.00
 35823Employee name...employee@email.com2011-01-010.00
 35822Employee name...employee@email.com2011-01-010.00
 35821Employee name...employee@email.com2011-01-010.00
 35820Employee name...employee@email.com2011-01-010.00
 35819Employee name...employee@email.com2011-01-010.00
 35818Employee name...employee@email.com2011-01-010.00
 35817Employee name...employee@email.com2011-01-010.00
 35816asdfasdfemployee@email.com2011-01-010.00
 35815Employee name...employee@email.com2011-01-010.00
 35814Employee name...employee@email.com2011-01-010.00
 35813Employee name...employee@email.com2011-01-010.00
 35812Employee name...employee@email.com2011-01-010.00
 35811Employee name...employee@email.com2011-01-010.00
 35810Employee name...employee@email.com2011-01-010.00
 35809Employee name...employee@email.com2011-01-010.00
 35808Employee name...employee@email.com2011-01-010.00
 35807Employee name...employee@email.com2011-01-010.00
 35806asdfasdfemployee@email.com2011-01-010.00
 35805Employee name...employee@email.com2011-01-010.00
 35804Employee name...employee@email.com2011-01-010.00
 35802Employee name...employee@email.com2011-01-010.00
 35801Employee name...employee@email.com2011-01-010.00
 35800Employee name...employee@email.com2011-01-010.00
 35799Employee name...employee@email.com2011-01-010.00
 35798Employee name...employee@email.com2011-01-010.00
 35797Employee name...employee@email.com2011-01-010.00
 35796Employee name...employee@email.com2011-01-010.00
 35795Employee name...employee@email.com2011-01-010.00
 35794asdfasdfemployee@email.com2011-01-010.00
 35793Employee name...employee@email.com2011-01-010.00
 35792Employee name...employee@email.com2011-01-010.00
 35791Employee name...employee@email.com2011-01-010.00
 35790Employee name...employee@email.com2011-01-010.00
 35789Employee name...employee@email.com2011-01-010.00
 35788Employee name...employee@email.com2011-01-010.00
 35787Employee name...employee@email.com2011-01-010.00
 35784employee@emil.com2011-01-010.00
 35783kajalemployee56@email.com2011-01-010.00
 35782Employee name...employee@email.com2011-01-010.00
 35781sfgsdfemployee@email.com2011-01-010.00
 35780Employee name...employee@email.com2011-01-010.00
 35779Employee name...employee@email.com2011-01-010.00
 35778Employee name...employee@email.com2011-01-010.00
 35777Test gridemployee@email.com2011-01-011000.00
 35776Employee name...employee@email.com2011-01-010.00
 35775Employee name...employee@email.com2011-01-010.00
 35774Employee name...employee@email.com2011-01-010.00
 35773Employee name...employee@email.com2011-01-010.00
 35772Employee name...employee@email.com2011-01-010.00
 35771Employee name...employee@email.com2011-01-010.00
 35768sadfsdfemployee@email.coms2011-01-010.00
 35765Employee name...memi@email.com2011-01-0110.20
 35764aeerkffkremployee@email.com2011-01-010.00
 35760azazemployee@email.com2011-01-010.00
		var tfConfig = {
			public_methods: true,
			btn_reset: true,
			alternate_rows: true,
			loader: true,
			rows_counter: true,
			paging: false,
			col_0: 'none',
			col_width:['70px', '50px', '280px', '220px', '100px', '100px'],
			col_date_type: [null, null, null, null, 'ymd', null],
			sort_config: { sort_types: ['number','string','string','ymd','number'] },
			grid_layout: true, grid_width: '840px', grid_height: '300px',
			grid_enable_cols_resizer: false,
			mark_active_columns: true,
			
			//Checkbox header is referenced once filters are generated
			on_filters_loaded: function(o){
				var headersRow = o.headTbl.rows[o.GetHeadersRowIndex()];
				var c = headersRow.cells[0];
				var ezConfig = o.fObj.ezEditTable_config;
				//header checkbox is referenced on ezEditTable configuration object o.ezEditTable.checkBoxAll
				ezConfig.checkBoxAll = tf_Tag(c, 'input')[0];
				//header checkbox always unselected at start
				ezConfig.checkBoxAll.checked = false;
				//Click event is attached to header checkbox, note o.fObj = TF configuration object
				tf_AddEvent(ezConfig.checkBoxAll, 'click', function(e){ o.fObj.toggleAll(o); });
			},
			
			selectable: true,
			editable: false,
			ezEditTable_config: {
				key_navigation: false,
				key_selection: false,
				selection_model: 'multiple',
				default_selection: 'row',
				selected_row_css: 'ezSlcRow',
				
				on_after_selected_row: function(o, row){
					var c = row.cells[0];
					var checkBox = o.Tag(c, 'input')[0];
					if(checkBox) checkBox.checked = true;
				},
				on_after_deselected_row: function(o, row){
					var c = row.cells[0];
					var checkBox = o.Tag(c, 'input')[0];
					if(checkBox) checkBox.checked = false;
					o.config.checkBoxAll.checked = false;
				}
			},
			
			/* Sky Blue theme */  
			themes: {   
				name:['SkyBlueTheme'],   
				src:['TableFilter/TF_Themes/SkyBlue/TF_SkyBlue.css'],   
				description:['SkyBlue stylesheet']
			},
			
			//Custom select all function used by header checkbox
			toggleAll: function(tf){ //tf = parent object: TF
				var o = tf.ezEditTable; //ezEditTable object referenced inside TF object
				if(o.config.checkBoxAll.checked == false){
					o.Selection.ClearSelections();
				} else {
					for(var i=o.startRow; i<o.GetRowsNb(); i++){
						//If table filtered, only valid rows are selected
						if(tf.GetValidRowsIndex()==null || tf.GetValidRowsIndex().indexOf(i) != -1)
							o.Selection.SelectRowByIndex(i);
					}
				}
			}
		};
		

E.n.j.o.y.  ads-free content!