⚠ In case you've missed it we have migrated to our new website, with a brand new forum. For more details about the migration you can read our blog post for website migration. This forum is read-only and soon will be archived. ⚠


How to make checkbox in each cell of crud

Checkbox in crud cell

  • Please log in to reply
12 replies to this topic

#1 php_lover

php_lover

    Advanced Member

  • Members
  • PipPipPip
  • 41 posts

Posted 23 February 2013 - 11:31 AM

how to make checkbox in cell of grocerrycrud  for input 



#2 sachin vairagi

sachin vairagi

    Advanced Member

  • Members
  • PipPipPip
  • 39 posts

Posted 23 February 2013 - 02:10 PM

hi php_lover,

 

do you want checkbox for multiple delete?



#3 sachin vairagi

sachin vairagi

    Advanced Member

  • Members
  • PipPipPip
  • 39 posts

Posted 23 February 2013 - 02:13 PM

Here is the very nice post from KaBaDaBrA, you can try it.

 

 

Anyway here we go:

post-756-0-02867000-1336592715_thumb.png


Above is an example, added the check links to the side and a
delete all selected button to the bottom right. Here is the "list.php"
file, download it and copy to your flexigrid theme (backup your current
one) path: assets\grocery_crud\themes\flexigrid\views.

php.gif
 list.php   4.02K
  253 downloads

You will need to edit the javascript part around line 25 and replace your own URL in here.

Here's an example function for the controller:

function delete_selection()
{
   $id_array = array();
   $selection = $this->input->post("selection", TRUE);
   $id_array = explode("|", $selection);

   foreach($id_array as $item):
      if($item != ''):
      //DELETE ROW
      $this->db->where('customerNumber', $item);
      $this->db->delete('customers');
      endif;
   endforeach;
}



#4 php_lover

php_lover

    Advanced Member

  • Members
  • PipPipPip
  • 41 posts

Posted 26 February 2013 - 06:56 AM

i want checkbox for selecting role from grid just like this i want to assign privelage to one use that he can add edit delete record from database so i want checkbox for this its kind of master detail datagrid and once again thanks@Sachin101



#5 Гэрэлт-Од Гоцбаяр

Гэрэлт-Од Гоцбаяр

    Member

  • Members
  • PipPip
  • 18 posts

Posted 27 February 2013 - 02:33 PM

Thanks



#6 php_lover

php_lover

    Advanced Member

  • Members
  • PipPipPip
  • 41 posts

Posted 28 February 2013 - 10:45 AM

Sorry for bad english actually i have a grid with colum add edit delete export i have to assighn the role of every employee so i want to use checkbox instead of textbox how it is possible



#7 php_lover

php_lover

    Advanced Member

  • Members
  • PipPipPip
  • 41 posts

Posted 28 February 2013 - 10:56 AM

and also checkbox not showing on grid



#8 Christophe Conduché

Christophe Conduché

    Member

  • Members
  • PipPip
  • 19 posts

Posted 26 April 2013 - 10:19 AM

Very nice Post, I have bookmarked KaBaDaBra as he gave so many useful tricks and tips... Thks !!

 

 

I have 2 questions :

 

1) how to have this list.php only assigned to some of the lists ?  make a copy of the theme and use different themes at different places ?

 

 

2) is it possible to have 2 columns of checkboxes with different callbacks (for multiple deletion as it is or multiple "grouping" actions) ?

 

a start could be :

            	<th width="20px"><input type="checkbox" class="checkall" /></th>
            	<th width="20px"><input type="checkbox" class="checkall2ndcolumn" /></th>



            <td><input type="checkbox" name="custom_delete" value="<?=$rowID?>" /></td>
            <td><input type="checkbox" name="custom_action" value="<?=$rowID?>" /></td>


but then, the functions at the beginning have to be modified as they select all base on the type of the input (checkbox) rather than base on the name or class

 

<script type="text/javascript">
$(function () {
	//CHECK ALL BOXES
	$('.checkall').click(function () {
		$(this).parents('table:eq(0)').find(':checkbox').attr('checked', this.checked);
	});
	//ADD DELETE BUTTON
	if($('.pDiv2 .delete_all_button').length == 0) { //check if element already exists (for ajax refresh purposes)
		$('.pDiv2').append('<input type="button" value="Delete Selected" class="delete_all_button" onclick="delete_selected();">');
	}
});

function delete_selected()
{
	var list = "";
	$('input[type=checkbox]').each(function() {     
		if (this.checked) {
			//remove selection rows
			$('#custom_tr_'+this.value).remove();
			//create list of values that will be parsed to controller
			list += this.value + '|';
		}
	});
	//send data to delete
	$.post('http://localhost/grocery_crud/index.php/examples/delete_selection', { selection: list }, function(data) {
		alert('Voila!');
	});
}
</script>

 

 

3) How to use "site_url" there rather than localhost in the url ? it is client sidejavascript there, is there a function availble on client side to get the site url ?

	//send data to delete
	$.post('http://localhost/grocery_crud/index.php/examples/delete_selection', { selection: list }, function(data) {
		alert('Voila!');



#9 davidoster

davidoster

    Grocery CRUD Ninja

  • Advanced Member
  • PipPipPip
  • 1,068 posts

Posted 26 April 2013 - 11:17 AM

1. this list.php is a view file, so you use it where ever you want to display this via your controller like this, $this->load->view('list.php', $your_data);

2. something like what you suggest, you will need to make unique names or an array. just experiment

3. within a view file like list.php you can use the <?php ?> notation in order call a function. the code you need is <?php echo site_url(); ?> site_url() is a CodeIgniter function.



#10 Christophe Conduché

Christophe Conduché

    Member

  • Members
  • PipPip
  • 19 posts

Posted 26 April 2013 - 03:20 PM

2. ok

3. ok

 

1.   humm, not sure to see exactly...  I use mainly this :

        $output = $this->grocery_crud->render();
 
        $this->_vdoman_output($output);        
    }
 
    function _vdoman_output($output = null)
 
    {
        $this->load->view('gestpara_template_desk.php',$output);    
    }

but, no where I go into a place where I have to call list.php myself and can override it.

 

may be I can create a copy of flexigrid theme, let be "original" and call it flexigrid2, but the patched list.php file and use $this->grocery_crud->set_theme("flexigrid2").



#11 hariprasath

hariprasath

    Newbie

  • Members
  • Pip
  • 7 posts

Posted 07 October 2013 - 11:12 AM

Hi,

 

I need help!

 

checkbox Working fine for me, but i need to how  hide/remove from Other List Pages. Its show on unwanted palces.

 

Im Very New to This Please help!

 

Thanks



#12 ssomenzi

ssomenzi

    Newbie

  • Members
  • Pip
  • 1 posts

Posted 15 October 2013 - 07:17 PM

Hi,

 

pretty ugly workaround, but if you need to use your modified list.php only on specific pages you can

1. duplicate your theme

2. assign a new name to the duplicated theme

3. modify the list.php file

4. call $crud->set_theme('duplicated_theme_name'); before rendering the crud only on the pages where you need the additional functions in you list.php file.

 

Hope it helps.

S.



#13 Robert

Robert

    Advanced Member

  • Members
  • PipPipPip
  • 220 posts

Posted 16 October 2013 - 05:43 AM

I think is better to modifie GC to use specific view file and jest duplicate and change the view name .. i was working on something like that is i can make it i will post the code.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users