Hello,
I am currently switching to Datatables Editor and now I have the effect that the SearchPanes do not show any data.
Datatables: v1.10.22
SearchPane: v1.2.0
Select: 1.3.1
![]()
And here is the code:
require "../lib/DataTables.php";
use
DataTables\Editor,
DataTables\Editor\Field,
DataTables\Editor\Format,
DataTables\Editor\Mjoin,
DataTables\Editor\Options,
DataTables\Editor\Upload,
DataTables\Editor\Validate,
DataTables\Editor\ValidateOptions;
Editor::inst($db, 's_articles')
->field(
Field::inst('s_articles_supplier.name'),
Field::inst('s_articles_details.suppliernumber'),
Field::inst('s_articles_details.ordernumber'),
Field::inst('s_articles.name'),
Field::inst('s_articles_details.stockmin'),
Field::inst('s_articles_details.instock'),
Field::inst('s_articles_attributes.attr7'),
Field::inst('s_articles_attributes.attr6'),
Field::inst('s_articles_attributes.lieferant')
)
->leftJoin('s_articles_details', 's_articles.id', '=', 's_articles_details.articleID')
->leftJoin('s_articles_attributes', 's_articles_details.id', '=', 's_articles_attributes.articledetailsID')
->leftJoin('s_articles_supplier', 's_articles.supplierID', '=', 's_articles_supplier.id')
->process($_POST)
->json();
var editor;
$(document).ready(function () {
editor = new $.fn.dataTable.Editor({
ajax: "./pdo/db_inventory.php",
table: "#inventory",
fields: [
{
label: "Hersteller:",
name: "s_articles_supplier.name",
},
{
label: "Lieferant:",
name: "s_articles_attributes.lieferant",
},
{
label: "Hersteller-Nr:",
name: "s_articles_details.suppliernumber",
},
{
label: "Shop-Nr:",
name: "s_articles_details.ordernumber",
},
{
label: "Bezeichnung:",
name: "s_articles.name",
},
{
label: "Min.:",
name: "s_articles_details.stockmin",
},
{
label: "Lager:",
name: "s_articles_details.instock",
attr: {
type: "number",
},
},
{
label: "Regal:",
name: "s_articles_attributes.attr7",
},
{
label: "Bemerkung:",
name: "s_articles_attributes.attr6",
},
],
});
$("#inventory").on("click", "tbody td.editable", function (e) {
editor.bubble(
this,
[
"s_articles_details.stockmin",
"s_articles_details.instock",
"s_articles_attributes.attr7",
"s_articles_attributes.attr6",
],
{
title: "Ihre Eingabe:",
}
);
});
$("#inventory").DataTable({
ajax: {
url: "./pdo/db_inventory.php",
type: "POST",
},
columns: [
{
data: "s_articles_supplier.name",
},
{
data: "s_articles_attributes.lieferant",
},
{
data: "s_articles_details.suppliernumber",
},
{
data: "s_articles_details.ordernumber",
},
{
data: "s_articles.name",
},
{
data: "s_articles_details.stockmin",
className: "editable",
},
{
data: "s_articles_details.instock",
className: "editable",
},
{
data: "s_articles_attributes.attr7",
className: "editable",
},
{
data: "s_articles_attributes.attr6",
className: "editable",
},
],
columnDefs: [
{
searchPanes: {
show: true,
layout: "column-2",
},
targets: [0, 2, 3],
},
],
responsive: true,
dom: "Pfrtip",
// '<"dtsp-verticalContainer"<"dtsp-verticalPanes"P><"dtsp-dataTable"frtip>>',
serverSide: true,
select: true,
deferRender: true,
language: {
sEmptyTable: "Keine Daten in der Tabelle vorhanden",
sInfo: "_START_ bis _END_ von _TOTAL_ Einträgen",
sInfoEmpty: "0 bis 0 von 0 Einträgen",
sInfoFiltered: "(gefiltert von _MAX_ Einträgen)",
sInfoPostFix: "",
sInfoThousands: ".",
sLengthMenu: "_MENU_ Einträge anzeigen",
sLoadingRecords: "Wird geladen...",
sProcessing: "Bitte warten...",
sSearch: "Globale Suche",
sZeroRecords: "Keine Einträge vorhanden.",
oPaginate: {
sFirst: "Erste",
sPrevious: "Zurück",
sNext: "Nächste",
sLast: "Letzte",
},
oAria: {
sSortAscending: ": aktivieren, um Spalte aufsteigend zu sortieren",
sSortDescending: ": aktivieren, um Spalte absteigend zu sortieren",
},
searchPanes: {
emptyPanes: "There are no panes to display. :/",
},
},
});
$("#inventory").DataTable().searchPanes.rebuildPane();
});
Thanks
Lars