i want to add a extra serial
column at the first column and it will not change on search.i want it like jqgrid.please help me
⚠ 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 is an archived forum. ⚠
Posted 27 February 2014 - 18:36 PM
i want to add a extra serial
column at the first column and it will not change on search.i want it like jqgrid.please help me
Posted 27 February 2014 - 22:03 PM
Hey I have same problem, I think it's a limitation when you have something else in columns than a 1-N or N-N relation. you can't sort by clicking on column or search in these fields.
Posted 28 February 2014 - 08:31 AM
Well.. i should really thank you ppl as for bringing up this wonderful requirement. This gave me a bit of challenge to solve it and here is the solution for the same.
public function customers_management()
{
//This process is important to reset the last serial no...
$page = $this->input->get_post('page');
if($page == '') {
$page=1;
} else {
$per_page = $this->input->get_post('per_page');
$start = ($page-1) * $per_page;
$this->session->set_userdata('lastSerial', $start);
}
$this->load->library('grocery_crud_with_tab');
$crud = new grocery_crud_with_tab();
$crud->set_table('customers');
$crud->columns('serial_no', 'customerName','contactLastName','phone','city','country','salesRepEmployeeNumber','creditLimit');
$crud->display_as('salesRepEmployeeNumber','from Employeer')
->display_as('customerName','Name')
->display_as('contactLastName','Last Name');
$crud->set_subject('Customer');
$crud->set_relation('salesRepEmployeeNumber','employees','lastName');
$crud->callback_column('serial_no', array($this, 'generateSerialNo'));
$crud->set_tab('default', 'Customer Details', array('customerName', 'salesRepEmployeeNumber', 'creditLimit'));
$crud->set_tab('contact', 'Customer Contact', array('contactLastName', 'contactFirstName', 'phone'));
$crud->set_tab('address', 'Customer Address', array('addressLine1', 'addressLine2', 'city', 'state', 'postalCode', 'country'));
//This is written exclusively because the jquery ui provided with this version of grocery crud dose not posses the tabs function.. hence had to
//set the same from the cloud.
$crud->unset_jquery_ui();
$crud->unset_jquery();
$crud->set_css('//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css', false);
$crud->set_js('//code.jquery.com/jquery-1.11.0.min.js', false);
$crud->set_js('//code.jquery.com/ui/1.10.4/jquery-ui.js', false);
$output = $crud->render();
$this->_example_output($output);
}
function generateSerialNo() {
if($this->session->userdata('lastSerial') == '') {
$this->session->set_userdata('lastSerial', 0);
$this->session->set_userdata('lastPage', 1);
$lastSerial = 0;
} else {
$lastSerial = $this->session->userdata('lastSerial');
}
$lastSerial++;
$page = $this->input->post('page');
if($page != '') {
$this->session->set_userdata('lastPage', $page);
} else {
$this->session->set_userdata('lastPage', 1);
}
$this->session->set_userdata('lastSerial', $lastSerial);
return $lastSerial;
}
One thing - you need to be careful with this - The search functionality usually tries to use every column in the display to search the data / content through .. but this is a custom field and cannot be part of the query ... so be sure to patch your default library using the patch provided in my prior post.
Happy GCing:)
Posted 05 March 2014 - 13:17 PM
great
Posted 22 March 2014 - 16:59 PM
$this->load->library('grocery_crud_with_tab')
its giving me an error.unable to load
Posted 23 March 2014 - 04:25 AM
sorry dont load grocery_crud_with tab.. this must have been some code where i just picked from my project and pasted.. just use $this->load-library(grocery_crud)