2015-06-30 2 views
2

Как добавить еще одного (двух) ребенка к отзывчивым данных.Как добавить другого ребенка в отзывчивый datatable

Если таблица является слишком узкой, и я нажимаю кнопку + это не делает ничего

Есть мысли по этому поводу?

function format (d) { 
    return '<div class="player"></div>'; 
} 

https://jsfiddle.net/v1xnj3u4/

+0

Я посмотрел на скрипку, какой желаемый результат? – oMiKeY

+0

Я хочу добавить div в конец чувствительной области. Поэтому мне нужна только одна кнопка. Пожалуйста, убедитесь, что вы изменяете размер таблицы, чтобы сделать ее очень узкой. Я действительно нуждаюсь в создании ребенка, даже когда активируется плавный плагин. – QGA

+0

Ах, это умный плагин. Так что, если строка таблицы слишком короткая, чтобы показать все данные, первая ячейка получает знак плюса, который при щелчке падает на другую ячейку в видимость с отсеченными ячейками? Brilliant! Я предполагаю, что для того, чтобы получить то, что вы хотите, вам нужно будет войти в скрипт плагина и добавить к нему. Кажется, что, глядя на источник, вы можете изменить функцию «renderer» плагина, возможно, это лучшее место для просмотра? – annoyingmouse

ответ

2

Это похоже на работу, хотя это не создает еще одну строку, как таковой, а только добавляет к созданному ряду с DIV вы указали:

"responsive": { 
    "details": { 
     "renderer": function (api, rowIdx) { 
      // Select hidden columns for the given row 
      var data = api.cells(rowIdx, ':hidden').eq(0).map(function(cell){ 
       var header = $(api.column(cell.column).header()); 
       return $("<tr></tr>").append($("<td></td>",{ 
        "text": header.text()+':' 
       })).append($("<td></td>",{ 
        "text": api.cell(cell).data() 
       })).prop('outerHTML'); 
      }).toArray().join(''); 
      return data ? 
       $('<table/>').append(data).prop('outerHTML') + $("<div></div>", {"class":"player"}).prop('outerHTML') : 
       false; 
     } 
    } 
}, 

Рабочий пример на JSFiddle, спасибо за вызов, я с удовольствием узнал об этом ;-)

+0

Это мое предпочтительное решение. Однако это не работает, когда таблица не сжимается, потому что кнопка + исчезает – QGA

+0

Если это так, я думаю, что вам лучше использовать другое решение, а не гибкий плагин. В исходном JSFiddle, когда вы сжали таблицу, зеленые значки стали видны, а рендер в первой ячейке означал, что иногда значок был видимым в дочерней строке. – annoyingmouse

+0

Могу ли я как-то заставить реагирующую кнопку оставаться там, даже если таблица не сжимается – QGA

2

Вы можете сделать значок (+) постоянно, если вы сделаете одну из столбцов h ✔, вы можете создать фиктивный столбец для этой цели и использовать один из адаптивного плагина special classesnone как 'className: 'none' для этого фиктивного столбца.

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

Затем при перечислении столбцов в custom renderer вы можете отобразить, что хотите для этого столбца, если этот специальный заголовок столбца соответствует некоторому предопределенному значению (я использовал 'Extra 10', который является заголовком последнего столбца).

См. Это JSFiddle для демонстрации.

PS: Я использовал excellent answer and example by @annoyingmouse в качестве основы для этого ответа, поэтому мой голос идет к нему.

+0

Спасибо вам, оба !!!! Я действительно оценил вашу помощь – QGA

+0

Ahh, спасибо @ Gyrocode.com Я не часами '' className ":" none "' option – annoyingmouse