2

Datatables の Fixed Columns プラグインの使用に問題があります。

右側の列を固定しようとすると、データテーブルに非表示の列があると、右側の列が表示されません。データテーブルに非表示の列がない場合、固定列が正しく表示されます。

もう1つ、サーバー側の処理を使用しています。

これが使用しようとしているコードです。

        "sScrollX": "100%",
        "sScrollXInner": "130%",            
        "bScrollCollapse": true,
        "fnInitComplete": function () {
            var resultadosFC = new FixedColumns( resultados, {
                "iLeftColumns": 0,
                "iRightColumns": 1,
                "sHeightMatch" :"auto"
            } );
          },
        "sPaginationType": "full_numbers",
        "bStateSave": false,
        "iCookieDuration": 3600,
        "bJQueryUI": true,
        "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": "index.php?option=com_entidades&task=getSolicitudes",
        "aaSorting": [[0,'desc']],
        "bAutoWidth": false,
        "aoColumns": [
                      null,
                      {
                          "fnRender": function(oObj) {
                              if(oObj.aData[1]!=null)
                                  return moment(oObj.aData[1], "YYYY-MM-DD HH:mm:ss").format("DD/MM/YYYY hh:mm:ss a");
                              else
                                  return null;
                          }
                      },
                      {
                          "fnRender": function(oObj) {
                              if(oObj.aData[2]!=null)
                                  return moment(oObj.aData[2], "YYYY-MM-DD HH:mm:ss").format("DD/MM/YYYY hh:mm:ss a");
                              else
                                  return null;
                          }
                      },
                      {
                          "fnRender": function(oObj) {
                              if(oObj.aData[3]!=null)
                                  return moment(oObj.aData[3], "YYYY-MM-DD HH:mm:ss").format("DD/MM/YYYY hh:mm:ss a");
                              else
                                  return null;
                          }
                      },
                      null,
                      null,
                      null,
                      null,
//when i hide the columns the fixed column doesnt show
                          { "bVisible": false },
                          { "bVisible": false },
//this is the column i want to freeze
                          {
                                "bSortable": true, 
                                "bSearchable": false,
                                "sWidth" : "35px",
                                "fnRender": function(oObj) {
                                    var reg_completo = oObj.aData[8];
                                    if( reg_completo == 'I' ){ return '<div align="center"><label style="color:red">I</label></div>'; }
                                    else if( reg_completo == 'C'){ return '<div align="center"><label style="color:green">C</label></div>'; }
                                }
                          },
                          {
                              "bSortable": false, 
                              "bSearchable": false,
                              "fnRender": function(oObj) {
                                  var id = oObj.aData[0];
                                  var codEstadoSolicitud = oObj.aData[10];
                                  var regUserID = oObj.aData[11];
                                  var acciones="";
                                  if(canDoEditarCrearSolicitud && codEstadoSolicitud == constSolicitudBorrador && jSigeUserID == regUserID)
                                      acciones=acciones + linkEditar + linkEliminar + linkEnviar;
                                  else
                                      acciones=acciones + linkVer;
                                  return acciones.replace(/\$var/g,id);
                            }
                          }                      
                          ]
        });
4

0 に答える 0