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
 36797Employee name...employee@email.com2011-01-010.00
 36796Employee name...employee@email.com0000-00-000.00
 36795Employee name...employee@email.com2011-01-010.00
 36794Employee name...employee@email.com2011-01-010.00
 36793Employee name...employee@email.com2011-01-010.00
 36792Employee name...employee@email.com2011-01-010.00
 36791Employee name...employee@email.com2011-01-010.00
 36790Employee name...employee@email.com0000-00-000.00
 36789Employee name...employee@email.com2011-01-010.00
 36788Employee name...employee@email.com2011-01-010.00
 36787Employee name...employee@email.com0000-00-000.00
 36786Employee name...employee@email.com0000-00-000.00
 36785Employee name...employee@email.com2011-01-100.00
 36784Employee name...employee@email.com0000-00-000.00
 36783Employee name...employee@email.com2011-01-010.00
 36782Employee name...employee@email.com2011-01-010.00
 36781Employee name...employee@email.com2011-01-010.00
 36780Employee name...employee@email.com2011-01-010.00
 36779Employee name...employee@email.com2011-01-100.00
 36778Employee name...employee@email.com2011-01-010.00
 36777Employee name...employee@email.com0000-00-000.00
 36776Employee name...employee@email.com2011-01-010.00
 36775Employee name...employee@email.com0000-00-000.00
 36774Employee name...employee@email.com0000-00-000.00
 36773Employee name...employee@email.com0000-00-000.00
 36772Employee name...employee@email.com0000-00-000.00
 36771Employee name...employee@email.com0000-00-000.00
 36770Employee name...employee@email.com2011-01-010.00
 36769Employee name...employee@email.com2011-01-010.00
 36768Employee name...employee@email.com0000-00-000.00
 36767Employee name...employee@email.com2011-01-010.00
 36766Employee name...employee@email.com2011-01-010.00
 36765Employee name...employee@email.com0000-00-000.00
 36764Employee name...employee@email.com2011-01-010.00
 36763Employee name...employee@email.com0000-00-000.00
 36762Employee name...employee@email.com2011-01-010.00
 36761Employee name...employee@email.com2011-01-010.00
 36760Employee name...employee@email.com2011-01-010.00
 36759Employee name...employee@email.com2011-01-010.00
 36758Employee name...employee@email.com2011-01-010.00
 36757Employee name...employee@email.com2011-01-100.00
 36756Employee name...employee@email.com2011-01-010.00
 36755Employee name...employee@email.com2011-01-100.00
 36754Employee name...employee@email.com2011-01-010.00
 36753Employee name...employee@email.com0000-00-000.00
 36752Employee name...employee@email.com2011-01-010.01
 36751Employee name...employee@email.com0000-00-000.00
 36750Employee name...employee@email.com0000-00-000.00
 36749Employee name...employee@email.com0000-00-000.00
 36748Employee name...employee@email.com0000-00-000.00
 36747Employee name...employee@email.com0000-00-000.00
 36746Employee name...employee@email.com2011-01-010.00
 36745Employee name...employee@email.com2011-01-010.00
 36744Employee name...employee@email.com2011-01-010.00
 36743Employee name...employee@email.com2011-01-010.00
 36742Employee name...employee@email.com2011-01-010.00
 36741Employee name...employee@email.com2011-01-010.00
 36740Employee name...employee@email.com2011-01-010.00
 36739Employee name...employee@email.com2011-01-010.00
 36738Employee name...employee@email.com2011-01-010.00
 36737Employee name...employee@email.com2011-01-010.00
 36736Employee name...employee@email.com2011-01-010.00
 36735Employee name...employee@email.com2011-01-010.00
 36734Employee name...employee@email.com2011-01-010.00
 36733Employee name...employee@email.com2011-01-010.00
 36732Employee name...employee@email.com2011-01-010.00
 36731Employee name...employee@email.com2011-01-010.00
 36730Employee name...employee@email.com2011-01-010.00
 36729Employee name...employee@email.com2011-01-010.00
 36728Employee name...employee@email.com2011-01-010.00
 36727Employee name...employee@email.com2011-01-010.00
 36726Employee name...employee@email.com2011-01-010.00
 36725Employee name...employee@email.com2011-01-010.00
 36724Employee name...employee@email.com2011-01-010.00
 36723Employee name...employee@email.com2011-01-010.00
 36722Employee name...employee@email.com2011-01-010.00
 36721Employee name...employee@email.com2011-01-010.00
 36720Employee name...employee@email.com2011-01-010.00
 36719Employee name...employee@email.com2011-01-01-1.00
 36718Employee name...employee@email.com2011-01-01-1.00
 36717Employee name...employee@email.com2011-01-01-1.00
 36716Employee name...employee@email.com2011-01-01-1.00
 36715Employee name...employee@email.com2011-01-01-1.00
 36714Employee name...employee@email.com2011-01-010.00
 36713Employee name...employee@email.com2011-01-010.00
 36712Employee name...employee@email.com2011-01-010.00
 36711Employee name...employee@email.com2011-01-010.00
 36710Employee name...employee@email.com2011-01-010.00
 36709Employee name...employee@email.com2011-01-010.00
 36708Employee name...employee@email.com2011-01-010.00
 36707Employee name...employee@email.com2011-01-010.00
 36706Employee name...employee@email.com2011-01-010.00
 36705Employee name...employee@email.com2011-01-010.00
 36704Employee name...employee@email.com2011-01-010.00
 36703Employee name...employee@email.com2011-01-010.00
 36702Employee name...employee@email.com2011-01-010.00
 36701Employee name...employee@email.com2011-01-010.00
 36700Employee name...employee@email.com2011-01-010.00
 36699Employee name...employee@email.com2011-01-010.00
 36698Employee name...employee@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!