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
 35994Employee name...employee@email.com2011-01-010.00
 35993Employee name...employee@email.com2011-01-010.00
 35992Employee name...employee@email.com2011-01-010.00
 35991Employee name...employee@email.com2011-01-010.00
 35990Employee name...employee@email.com2011-01-010.00
 35989Employee name...employee@email.com2011-01-010.00
 35988Employee name...employee@email.com2011-01-010.00
 3598722employee@email.com2011-01-010.00
 35985Employee name...employee@email.com2011-01-010.00
 35984Employee name...employee@email.com2011-01-010.00
 35983Employee name...employee@email.com2011-01-010.00
 35982Employee name...employee@email.com2011-01-010.00
 35981Employee name...employee@email.com2011-01-010.00
 35980Employee name...employee@email.com2011-01-010.00
 35979Employee name...employee@email.com2011-01-010.00
 35978Employee name...employee@email.com2011-01-010.00
 35977Employee name...employee@email.com2011-01-010.00
 35976Employee name...employee@email.com2011-01-010.00
 35975Employee name...employee@email.com2011-01-010.00
 35974Employee name...employee@email.com2011-01-010.00
 35973Employee name...employee@email.com2011-01-010.00
 35972Employee name...employee@email.com2011-01-010.00
 35971Employee name...employee@email.com2011-01-010.00
 35970Employee name...employee@email.com2011-01-010.00
 35969Employee name...employee@email.com2011-01-010.00
 35968Employee name...employee@email.com2011-01-010.00
 35967Employee name...employee@email.com2011-01-010.00
 35966Employee name...employee@email.com2011-01-010.00
 35965Employee name...employee@email.com2011-01-010.00
 35964Employee name...employee@email.com2011-01-010.00
 35963Employee name...employee@email.com2011-01-010.00
 35962Employee name...employee@email.com2011-01-010.00
 35961asdfasdfasdfasdfadfssdfasdfasdfasdfas@email.com1993-04-0444444.00
 35960ssssss@email.com2020-01-0144.00
 35954sdfemployee@email.com2011-01-010.00
 35953Employee name...kikiemployee@email.com2011-01-010.00
 35952Employee name...employee@email.com2011-01-010.00
 35951Employee name...employee@email.com2011-01-010.00
 35950Employee name...employee@email.com2011-01-010.00
 35949Employee name...employee@email.com2011-01-010.00
 35948Employee name...employee@email.com2011-02-010.00
 35947Employee name...employee@email.com2011-01-010.00
 35946Pis'kaemployee@email.com2011-01-010.00
 35945sfdemployee@email.com2011-01-010.00
 35944Employee name...employee@email.com2011-01-010.00
 35943Pis'kaemployee@email.com2011-01-010.00
 35942Employee name...employee@email.com2011-01-010.00
 35941Employee name...employee@email.com2011-01-010.00
 35940Employee name...employee@email.com2011-01-010.00
 35939Employee name...employee@email.com2011-01-010.00
 35938Employee name...employee@email.com2011-01-010.00
 35937Employee name...employee@email.com2011-01-010.00
 35936Employee name...employee@email.com2011-01-010.00
 35935Employee name...employee@email.com2011-01-010.00
 35934Employee name...employee@email.com2011-01-010.00
 35933Employee name...employee@email.com2011-01-010.00
 35932Employee name...employee@email.com2011-01-010.00
 35931Employee name...employee@email.com2011-01-010.00
 35930Employee name...employee@email.com2011-01-010.00
 35929Employee name...employee@email.com2011-01-010.00
 35928Employee name...employee@email.com2011-01-010.00
 35927Employee name...employee@email.com2011-01-010.00
 35926Employee name...employee@email.com2011-01-010.00
 35925Employee name...employee@email.com2011-01-010.00
 35922Employee name...employee@email.com2011-01-010.00
 35920Employee name...employee@email.com2011-01-010.00
 35919Employee name...employee@email.com2011-01-010.00
 35918Employee name...employee@email.com2011-01-010.00
 35917Employee name...employee@email.com2011-01-010.00
 35916Employee name...employee@email.com2011-01-010.00
 35915Employee name...employee@email.com2011-01-010.00
 35914Employee name...employee@email.com2011-01-010.00
 35913Employee name...employee@email.com2011-01-010.00
 35912Employee name...employee@email.com2011-01-010.00
 35911Employee name...employee@email.com2011-01-010.00
 35910Employee name...employee@email.com2011-01-010.00
 35909Employee name...employee@email.com2011-01-010.00
 35908Employee name...employee@email.com2011-01-010.00
 35907Employee name...employee@email.com2011-01-010.00
 35906Employee name...employee@email.com2011-01-010.00
 35903testemployee@email.com2011-01-010.00
 35901Employee name...employee@email.com2011-01-010.00
 35900Employee name...employee@email.com2011-01-010.00
 35899Employee name...employee@email.com2011-01-010.00
 35898Employee name...employee@email.com2011-01-010.00
 35895Demployee@email.com2011-01-010.00
 35894Employee name...jhkjhkjhemployee@email.com2011-01-010.00
 35893Employee name...klklklemployee@email.com2011-01-010.00
 35892Employee name...employee@email.com2011-01-010.00
 35890ikkeemployee@email.com2011-01-011.22
 35889Employee name...employee@email.com2011-01-010.00
 35888aemployee@email.com2011-01-010.00
 35887Employee name...employee@email.com2011-01-010.00
 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
 35879dokter afadf dfadokter_dark@email.com2011-01-011000.00
 358781212121employee@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!