Как отобразить более одной кнопки в одной ячейке при использовании таблиц данных? - PullRequest
0 голосов
/ 05 ноября 2018

Я отображаю данные из базы данных в таблицах данных, и отображается список.

Теперь мне нужно добавить более двух кнопок в столбце состояния.

как

Name  | Mobile    | Email       | Status         
mnb   |1235412541 |nb@gmail.com | view | pending

Так я два раза пытался вернуть

Во-первых, возврат всегда отображает кнопку просмотра, а второй возврат в зависимости от условия будет возвращаться. Я получаю только кнопку просмотра.

Не могли бы вы помочь мне, как отобразить более одной кнопки в одной ячейке?

{ "data": null, 
"render": function (data, type, full, meta) { 
    return "<a href='"+baseUrl+"/Controller_control/get_customer?key="+full["cust_id"]+"'><img src='"+baseUrl+"/assets/images/icons/view.png'></a>"; 
    switch(full["o_order_status"]) { 
    case "-1" : return "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/pending.png'></a>"; break; 
    case "0" : return "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/cancel.png'></a>"; break; 
    case "1" : return "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/create.png'></a>"; break; 
    case "2" : return "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/verified.png'></a>"; break; 
    default : return "N/A"; 
    } 
    } 
    }

Код контроллера

$n=1;
      foreach($order_list as $r) {

           $data[] = array(
                "Sr_No" => $n,
                "cust_id" =>base64_encode($this->encryption->encrypt($r->cust_id)),//encrpt the id 
                "Name"=>$r->c_firstname."".$r->c_lastname,
                "Products"=> $r->o_product_brandname,
                "Mobile"=>$r->mobile,
                "Email"=>$r->email,
                "orderStatus"=>$r->o_order_status,
                "o_order_status"=>$r->o_order_status
           );
           $n++;
      }

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

вы можете сделать так, чтобы добавить более одной кнопки. Вы также можете добавить условия для отображения требуемых кнопок.

 $n=1;

      foreach($order_list as $r) {
         $action = "<button>view</button>"
         $action .= "<button>Pending</button>";
           $data[] = array(
                "Sr_No" => $n,
                "cust_id" =>base64_encode($this->encryption->encrypt($r->cust_id)),//encrpt the id 
                "Name"=>$r->c_firstname."".$r->c_lastname,
                "Products"=> $r->o_product_brandname,
                "Mobile"=>$r->mobile,
                "Email"=>$r->email,
                "orderStatus"=>$action
           );
           $n++;
      }
0 голосов
/ 05 ноября 2018

Вы возвращаете html до оператора switch. Это должно работать для вас.

{ "data": null, 
  "render": function (data, type, full, meta) 
  { 
    var btnView = "<a href='"+baseUrl+"/Controller_control/get_customer?key="+full["cust_id"]+"'><img src='"+baseUrl+"/assets/images/icons/view.png'></a> |"; 
    switch(full["o_order_status"]) 
    { 
        case "-1" : return btnView + "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/pending.png'></a>"; break; 
        case "0" : return  btnView + "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/cancel.png'></a>"; break; 
        case "1" : return  btnView + "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/create.png'></a>"; break; 
        case "2" : return  btnView + "<a href='javascript:void(0);'><img src='"+baseUrl+"/assets/images/icons/verified.png'></a>"; break; 
        default : return btnView + "N/A"; 
    } 
  } 
}
...