pues con esto:
Código PHP:
Ver original$this->db->list_fields('table_name');
obtienes los nombres de los atributos del objeto que elegirá el usuario.
Luego si usas checkboxes y obviamente el name de los checkboxes debiera coincidir con el nombre de cada atributo, armas la consulta normalmente solo que seleccionas los campos que el usuario envió por POST
Código PHP:
Ver original$this->db->select($this->input->post())->get('table_name')
magia. Si además de los checkboxes tienes otros datos que son enviados en el array POST debes hacerles unset() antes de ejecutar la consulta, o de lo contrario armar otro array para pasarle a ->select()
Otra opción sería traer siempre todos los datos y filtrarlos al momento de mostrar la tabla