<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Free community support — DataTables forums</title>
        <link>https://next.datatables.net/forums/</link>
        <pubDate>Fri, 11 Sep 2026 14:14:24 +0000</pubDate>
        <language>en</language>
            <description>Free community support — DataTables forums</description>
    <language>en</language>
    <atom:link href="https://next.datatables.net/forums/categories/free-community-support/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>"ColumnControl – remove dt-right class from date formatted by moment.js</title>
        <link>https://next.datatables.net/forums/discussion/81672/columncontrol-remove-dt-right-class-from-date-formatted-by-moment-js</link>
        <pubDate>Wed, 11 Feb 2026 09:49:47 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>spown</dc:creator>
        <guid isPermaLink="false">81672@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>:  <a rel="nofollow" href="https://live.datatables.net/notomuja/">https://live.datatables.net/notomuja/</a><br />
<strong>Debugger code (debug.datatables.net)</strong>:<br />
<strong>Error messages shown</strong>:<br />
<strong>Description of problem</strong>:</p>

<p>How can I reset className <code>dt-right</code> on date col with moment.js renderer?</p>

<pre><code>DataTable.type('datetime', 'className', '');
DataTable.type('date', 'className', '');
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>Excel export removes comma from German decimal number</title>
        <link>https://next.datatables.net/forums/discussion/81910/excel-export-removes-comma-from-german-decimal-number</link>
        <pubDate>Tue, 08 Sep 2026 20:50:49 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>K3nguruh</dc:creator>
        <guid isPermaLink="false">81910@/forums/discussions</guid>
        <description><![CDATA[<p>Hi everyone,</p>

<p>I'm not quite sure how to best describe this issue, but I'll give it a try!</p>

<p>I wrote a custom renderer function for formatting German numbers because <code>DataTable.render.number()</code> doesn't yield the result I need.</p>

<p>For example: <code>DataTable.render.number(null, null, 2)</code> displays <code>100,00</code> correctly in the table itself, but when exported (PDF, Excel), it outputs <code>100</code>—truncating the decimal places completely. However, I need the exported output to match what's visible in the table.</p>

<p>My custom renderer works fine for PDF exports. But for some reason, during the Excel export, the comma separator gets removed, resulting in <code>10000</code> instead of <code>100,00</code>.</p>

<p>I logged the exported cell data to the console to inspect the values. Interestingly, instead of returning a <code>string</code>, the cell value arrives as a numeric type. Meanwhile, in the "Betrag" (Amount) column, everything works as expected.</p>

<p>I even tried appending a space to the formatted string to force string evaluation, but that didn't resolve the issue either.</p>

<p><img src="https://datatables.net/forums/uploads/editor/19/btyaiywtyzci.png" alt="" title="" /></p>
]]>
        </description>
    </item>
    <item>
        <title>How to debounce/delay SearchBuilder filtering/</title>
        <link>https://next.datatables.net/forums/discussion/81639/how-to-debounce-delay-searchbuilder-filtering</link>
        <pubDate>Fri, 30 Jan 2026 16:55:20 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>Doca</dc:creator>
        <guid isPermaLink="false">81639@/forums/discussions</guid>
        <description><![CDATA[<p>When using SearchBuilder on a serverside table, having the table refresh on each character input can be disruptive and it blocks further inputs until it loads the data.</p>

<p>Currently the normal search has a debounce feature and doesn't perform the search until after 400ms has passed, is there a way to make SearchBuilder behave the same?</p>
]]>
        </description>
    </item>
    <item>
        <title>hover background color with checkboxes</title>
        <link>https://next.datatables.net/forums/discussion/80465/hover-background-color-with-checkboxes</link>
        <pubDate>Fri, 17 Jan 2025 15:41:19 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>run4ever</dc:creator>
        <guid isPermaLink="false">80465@/forums/discussions</guid>
        <description><![CDATA[<p>Hi,</p>

<p>I want to change the background color of the selected table row with my custom color ,<br />
this is the style css that i've applied without obtain any result:</p>

<p>**table.dataTable.hover &gt; tbody &gt; tr.selected:hover &gt; *, table.dataTable.display &gt; tbody &gt; tr.selected:hover &gt; * {<br />
    box-shadow: inset 0 0 0 9999px <a rel="nofollow" href="https://next.datatables.net/forums/search?Search=%23e32d2d&amp;Mode=like"></a><a rel="nofollow" href="https://next.datatables.net/forums/search?Search=%23e32d2d&amp;Mode=like">#e32d2d</a> !important;<br />
    box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 1) !important;<br />
}<br />
**</p>

<p>this is the code of the table:</p>

<p>table = $('#tb_searchresults').DataTable({<br />
    "ajax": {<br />
        "url": ApplicationParams.searchDatiDestinatari,<br />
        "type": "POST",<br />
        "dataSrc": "",<br />
        dataType: 'json',<br />
        "data": { 'filtroRicerca': filtroRicerca }<br />
    },</p>

<pre><code>columnDefs: [
    {
        render: DataTable.render.select(),
        targets: 0
    }
],
select: {
    style: 'os',
    selector: 'td:first-child'
},
"columns": [

    {
        data: Math.random() * 10000,
        defaultContent: "",                    
        orderable: false,
        targets: 0
    },
    {
        "render": function (data, type, full, meta) {
            return full.ragioneSociale;
        }
    },
    {
        "render": function (data, type, full, meta) {
            return full.regione;
        }
    },
    {
        "render": function (data, type, full, meta) {
            return full.provincia;
        }
    },
    {
        "render": function (data, type, full, meta) {
            return full.brandVeicolo;
        }
    },
    {
        "render": function (data, type, full, meta) {
            return full.modelloVeicolo;
        }
    },
    {
        "render": function (data, type, full, meta) {
            return full.dataImmatricolazione != null ? new Date(full.dataImmatricolazione).toLocaleDateString() : null;
        }
    },
    {
        "render": function (data, type, full, meta) {
            return full.dataUltimaRevisione != null ? new Date(full.dataUltimaRevisione).toLocaleDateString() : null;
        }
    }
],
layout: {
    topEnd: 'buttons',
    topStart: 'search'
},
"dom": '&lt;"pull-left"l&gt;&lt;"pull-right"B&gt;rt&lt;"bottom"ip&gt;',

"buttons": [
    {
        "extend": 'copy',
        "text" : 'copia',
        "title": "Gestione campagne - Dati destinatari",
        "exportOptions": {
            "columns": [1, 2, 3, 4, 5, 6, 7],
            modifier: { search: 'none', selected: false }
        }
    },
    {
        "extend": 'excel', 
        'text' : 'Excel (senza esclusioni)',
        "title": "Elenco destinatari campagna (no esclusioni)",
        "exportOptions": {
            "columns": [1, 2, 3, 4, 5, 6, 7],
             modifier: { search: 'none', selected: false }
        }
    },
    {
        "extend": 'pdf',
        'text': 'Pdf (senza esclusioni)',
        "orientation": "landscape",
        "title": "Gestione campagne - Dati destinatari (no esclusioni)",
        "exportOptions": {
            "columns": [1, 2, 3, 4, 5, 6, 7],
            modifier: { search: 'none', selected: false }
        }
    }
],
"language": {
    "sEmptyTable": "Nessun dato presente nella tabella",
    "sInfo": "Vista da _START_ a _END_ di _TOTAL_ elementi",
    "sInfoEmpty": "Vista da 0 a 0 di 0 elementi",
    "sInfoFiltered": "(filtrati da _MAX_ elementi totali)",
    "sInfoThousands": ",",
    "sLoadingRecords": "Caricamento...",
    "sProcessing": "Elaborazione...",
    "sSearch": "Cerca:",
    "oPaginate": {
        "sFirst": "Inizio",
        "sPrevious": "Precedente",
        "sNext": "Successiva",
        "sLast": "Fine"
    },
    "lengthMenu": "Visualizza _MENU_ elementi",
    select: {
        rows: {
            _: '%d clienti selezionati da escludere ',
            0: 'Seleziona una o più righe per escludere i clienti dalla campagna',
            1: 'Un cliente selezionato da escludere'
        }
    }
},
"order": [[1, "asc"]],

"destroy": true,
"lengthChange": true,
"sSearch": "Cerca:",
"lengthMenu": [[5, 10, 20, 50, -1], [5, 10, 20, 50, "Tutti"]],
"iDisplayLength": 10
</code></pre>

<p>});</p>

<p>i've read a lot of similar questions but i am very frustrating that i can solve it.</p>

<p>Thanks  a lot!</p>
]]>
        </description>
    </item>
    <item>
        <title>$.extend(true, DataTable.defaults) ignores 'column' defaults in DataTables 3</title>
        <link>https://next.datatables.net/forums/discussion/81904/extend-true-datatable-defaults-ignores-column-defaults-in-datatables-3</link>
        <pubDate>Tue, 01 Sep 2026 12:34:11 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>K3nguruh</dc:creator>
        <guid isPermaLink="false">81904@/forums/discussions</guid>
        <description><![CDATA[<p>Hi Allan,</p>

<p>Sorry to bother you again! I'm currently migrating from DataTables 2 to DataTables 3, so I'm noticing a few unusual behaviors along the way. I hope that's okay and I'm not being a nuisance! ;-)</p>

<h3 data-anchor="Issue-Description"><a name="Issue-Description" rel="nofollow" href="#Issue-Description"></a>Issue Description</h3>

<p>I use <code>DataTable.defaults</code> to define baseline configurations so that all tables share the same default setup. If a specific table requires different settings, I override them directly inside <code>new DataTable()</code>.</p>

<p>However, setting global column defaults via <code>column</code> (such as <code>orderSequence</code>) no longer seems to work in DataTables 3, whereas it worked as expected in DataTables 2.3.7.</p>

<pre><code>$.extend(true, DataTable.defaults, {
  // layout - works
  layout: {
    topStart: null,
    topEnd: null,
    bottomStart: null,
    bottomEnd: null,
  },

  // column - doesn't work (worked in DT 2.3.7)
  column: {
    orderSequence: ["asc", "desc"],
  },
});

const table = new DataTable("#example");
</code></pre>

<p>Testcase / Live Example:<br />
<a rel="nofollow" href="https://live.datatables.net/xufodala/4/edit?html,js,output">https://live.datatables.net/xufodala/4/edit?html,js,output</a></p>

<p>P.S.: To toggle DataTables 3.0.3 in the live example, please enable/disable the respective stylesheet and script tags in the HTML panel.</p>
]]>
        </description>
    </item>
    <item>
        <title>Equivalent of data-order for ajax sourced data</title>
        <link>https://next.datatables.net/forums/discussion/81906/equivalent-of-data-order-for-ajax-sourced-data</link>
        <pubDate>Thu, 03 Sep 2026 15:10:28 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>gb691</dc:creator>
        <guid isPermaLink="false">81906@/forums/discussions</guid>
        <description><![CDATA[<p>Hi,</p>

<p>I've used datatables before with server-side processing where date ordering for cells that contain datesis enforced by adding a <code>data-order="mySQLDate.format("yyyymmdd")"</code> so that the built table looks like:</p>

<pre><code>&lt;tr&gt;
        &lt;td data-order="20220131"&gt;31st January 2022&lt;/td&gt;
&lt;/tr&gt;
</code></pre>

<p>How is this achieved when sourcing the data from Ajax? Is there something I can put in <code>columns : []</code> to tell datatables how to sort the data? Does datatables do type inference when it comes to sorting?</p>

<p>Apologies if this is all in the manuals; I couldn't find anything that exactly answered my question.</p>
]]>
        </description>
    </item>
    <item>
        <title>Date/time handling: Intl apis?</title>
        <link>https://next.datatables.net/forums/discussion/81907/date-time-handling-intl-apis</link>
        <pubDate>Fri, 04 Sep 2026 07:18:31 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>RichardD2</dc:creator>
        <guid isPermaLink="false">81907@/forums/discussions</guid>
        <description><![CDATA[<p>Looking at <a rel="nofollow" href="https://datatables.net/examples/core/datetime/">Date and Time handling</a>, you have support for both Moment.js and Luxon. But both <a rel="nofollow" href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat">Intl.DateTimeFormat</a> and <a rel="nofollow" href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat">Intl.RelativeTimeFormat</a> are "widely available", since 2017 and 2020 respectively.</p>

<p>Would it be worth adding support for those APIs to DataTables? Or is it simpler to just call them directly from the application code?</p>
]]>
        </description>
    </item>
    <item>
        <title>Last column does not render in child row when marked with the 'none' class name</title>
        <link>https://next.datatables.net/forums/discussion/81905/last-column-does-not-render-in-child-row-when-marked-with-the-none-class-name</link>
        <pubDate>Wed, 02 Sep 2026 20:16:24 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>srcalo</dc:creator>
        <guid isPermaLink="false">81905@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>: <a rel="nofollow" href="https://stackblitz.com/edit/2z3vty19?file=script.js,index.html">https://stackblitz.com/edit/2z3vty19?file=script.js,index.html</a></p>

<p>Hello! Odd problem that I've reproduced in the test case above. Using the responsive extension, I created an empty column to house the child row display button, setting <code>responsive.details.type</code> to <code>'column'</code> and the target to column 0. I'm using a custom renderer and the function's <code>columns</code> parameter to render each column of information.</p>

<p>Everything is fine until you add the <code>'dtr-control'</code> class name via <code>className</code>. After that, the last column is no longer renderable in the child row. When logging the <code>columns</code> parameter of the renderer function, I noticed that the parameter contained all but the last column!</p>

<p>If you comment out the <code>className: 'dtr-control'</code> line, you'll see things fix itself.</p>

<p>What's up with this? Am I missing something in the configuration?</p>

<p>Thanks!</p>
]]>
        </description>
    </item>
    <item>
        <title>SearchPane extension Datatable 3</title>
        <link>https://next.datatables.net/forums/discussion/81834/searchpane-extension-datatable-3</link>
        <pubDate>Fri, 24 Jul 2026 14:42:26 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>Druxt</dc:creator>
        <guid isPermaLink="false">81834@/forums/discussions</guid>
        <description><![CDATA[<p>Is searchpanes still supported in datatable 3 ? it seem all of it's content, documentation, example have been removed from the website. i'm actively using it and i still need to see proper implementation and documentation</p>

<p>Thanks !</p>
]]>
        </description>
    </item>
    <item>
        <title>Issues with combined export selectors (`:not(.no-export):visible`) and `titleRow` sorting indicators</title>
        <link>https://next.datatables.net/forums/discussion/81903/issues-with-combined-export-selectors-not-no-export-visible-and-titlerow-sorting-indicators</link>
        <pubDate>Mon, 31 Aug 2026 13:14:01 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>K3nguruh</dc:creator>
        <guid isPermaLink="false">81903@/forums/discussions</guid>
        <description><![CDATA[<h3 data-anchor="Bug-Report:-Issues-with-combined-export-selectors-(:not(.no-export):visible)-and-titleRow-sorting-indicators"><a name="Bug-Report:-Issues-with-combined-export-selectors-(:not(.no-export):visible)-and-titleRow-sorting-indicators" rel="nofollow" href="#Bug-Report:-Issues-with-combined-export-selectors-(:not(.no-export):visible)-and-titleRow-sorting-indicators"></a>Bug Report: Issues with combined export selectors (<code>:not(.no-export):visible</code>) and <code>titleRow</code> sorting indicators</h3>

<h4>Description</h4>

<p>While configuring DataTables with the Buttons extension, I encountered issues regarding combined column export selectors and missing sorting indicators when using <code>titleRow</code>.</p>

<p><strong>Testcase / Live Example:</strong><br />
<a rel="nofollow" href="https://live.datatables.net/xepumexo/6/edit?html,js,output">https://live.datatables.net/xepumexo/6/edit?html,js,output</a></p>

<hr />

<h4>1. Combined Column Selectors in <code>exportOptions</code> (<code>:not(.no-export):visible</code>)</h4>

<ul>
<li><strong>Issue:</strong> Combining class-based exclusions with visibility selectors (e.g., <code>:not(.no-export):visible</code> or passing an array <code>[":not(.no-export)", ":visible"]</code>) fails to export the expected columns.</li>
<li><strong>Observed Behavior:</strong><br />
<ul>
<li><code>age</code> (marked with <code>.no-export</code>) is still included in the export.</li>
<li><code>position</code> is missing from the exported output.</li>
</ul></li>
<li><strong>Regression Note:</strong> Works as expected in <strong>DataTables 2.3.7</strong>, but is broken in newer versions.</li>
</ul>

<h4>2. Missing Sorting Arrows with <code>titleRow: 1</code></h4>

<ul>
<li><strong>Issue:</strong> Enabling <code>titleRow: 1</code> prevents sorting UI elements from rendering properly.</li>
<li><strong>Observed Behavior:</strong> Columns <code>id</code>, <code>position</code>, and <code>age</code> do not display sorting arrows in the table header.</li>
</ul>

<hr />

<h4>Minimal Reproducible Example</h4>

<pre><code>const data = [
  { id: "1", fullname: "Tiger Nixon", firstname: "Tiger", lastname: "Nixon", age: 32, position: "System Architect" },
  { id: "2", fullname: "Garrett Winters", firstname: "Garrett", lastname: "Winters", age: 78, position: "Accountant" },
  { id: "3", fullname: "Ashton Cox", firstname: "Ashton", lastname: "Cox", age: 44, position: "Accountant" },
];

const table = new DataTable("#example", {
  data: data,
  layout: {
    topStart: null,
    topEnd: "buttons",
    bottomStart: null,
    bottomEnd: null,
  },
  buttons: {
    buttons: [
      {
        extend: "colvis",
        columns: ":not(.no-colvis)", // Works
      },
      {
        extend: "pdfHtml5",
        exportOptions: {
          // columns: ":not(.no-export)", // Works
          // columns: ":visible", // Works
          // columns: [":not(.no-export)", ":visible"], // doesn't work

          // Fails: combined selectors do not resolve correctly
          columns: ":not(.no-export):visible",
        },
      },
    ],
  },
  titleRow: 1, // Causes missing sorting arrows on certain columns
  columns: [
    { data: "id", className: "no-colvis" },
    { data: "firstname" },
    { data: "lastname" },
    { data: "position" }, // Missing from export output
    {
      data: "age",
      className: "no-colvis no-export", // Still included in export despite "no-export"
    },
  ],
});
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>ColReorder + ColumnControl: dragging a column throws "cell of undefined" and shows wrong drag-ghost</title>
        <link>https://next.datatables.net/forums/discussion/81888/colreorder-columncontrol-dragging-a-column-throws-cell-of-undefined-and-shows-wrong-drag-ghost</link>
        <pubDate>Fri, 21 Aug 2026 16:28:44 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>Elizabeth M Smith</dc:creator>
        <guid isPermaLink="false">81888@/forums/discussions</guid>
        <description><![CDATA[<p>Setup: Both ColumnControl and ColReorder enabled on the same table, with ColumnControl configured to add a second header row (e.g. columnControl: [{target: 0, content: ['order']}, {target: 1, content: ['search']}] — a per-column search-box row, distinct from the order controls in the title row).</p>

<p>What happens: Dragging a column header to reorder it throws mid-drag:</p>

<p>Uncaught (in promise) TypeError: can't access property "cell", n[l][r] is undefined<br />
and the drag-ghost element shows the wrong column name (consistently shows the first/frozen column's label regardless of which column is actually being dragged). The reorder itself still completes correctly despite the error — cosmetic/console-noise, not a functional break.</p>

<p>What isolates it: Removing ColumnControl's extension entirely (keeping ColReorder alone) makes the error disappear completely. So it's specifically the combination, and specifically the second header row.</p>

<p>Suspected mechanism, traced from source: _addListener()'s listener-attachment loop (dataTables.colReorder.js) correctly scopes itself to this.c.headerRows (if (!headerRows || headerRows.includes(rowIdx))), so an unconfigured/restricted row correctly never gets a drag-start listener. But validateStructureMove() (called via moveAllowed() during an active, validly-started drag) reads table.table().header.structure() completely unfiltered by headerRows — so even a drag that legitimately starts on row 0 still runs structural validation against the entire multi-row header, including ColumnControl's injected row, which appears to produce a gap/misalignment in the structure matrix that a downstream .cell access doesn't guard against.</p>

<p>Suggested fix: Have validateStructureMove()'s structure read respect this.c.headerRows the same way _addListener()'s attachment loop already does — filter the header/footer structure to the configured rows before validating, rather than reading it unfiltered.</p>
]]>
        </description>
    </item>
    <item>
        <title>[React] Columns are misaligned when using `scrollX: true` in DT2/DT3</title>
        <link>https://next.datatables.net/forums/discussion/81835/react-columns-are-misaligned-when-using-scrollx-true-in-dt2-dt3</link>
        <pubDate>Sat, 25 Jul 2026 03:08:41 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>choc</dc:creator>
        <guid isPermaLink="false">81835@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>:<br />
v2.3.8: <a rel="nofollow" href="https://stackblitz.com/edit/datatables-net-react-simple-9kecywem?file=src%2FApp.tsx">https://stackblitz.com/edit/datatables-net-react-simple-9kecywem?file=src%2FApp.tsx</a><br />
v3.0.0: <a rel="nofollow" href="https://stackblitz.com/edit/datatables-net-react-simple-8wrhohjm?file=src%2FApp.tsx">https://stackblitz.com/edit/datatables-net-react-simple-8wrhohjm?file=src%2FApp.tsx</a></p>

<p><strong>Description of problem</strong>:</p>

<p>when using the options below in DT2/DT3:</p>

<pre><code>options={{
  scrollX: true,
}}
</code></pre>

<p>the columns are misaligned.</p>

<p><img src="https://datatables.net/forums/uploads/editor/cd/uov25nma1gyi.png" alt="" title="" /></p>

<p>P.S. You need to make the viewport a bit narrower to see the bug, below approx. 1000px.</p>
]]>
        </description>
    </item>
    <item>
        <title>StateSave with ColumnControl does not properly restore column filters on refresh</title>
        <link>https://next.datatables.net/forums/discussion/81863/statesave-with-columncontrol-does-not-properly-restore-column-filters-on-refresh</link>
        <pubDate>Mon, 10 Aug 2026 17:27:50 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>coreyg142</dc:creator>
        <guid isPermaLink="false">81863@/forums/discussions</guid>
        <description><![CDATA[<p>Test Case: <a rel="nofollow" href="https://live.datatables.net/guninabo/2/edit">https://live.datatables.net/guninabo/2/edit</a><br />
I also have a serverside application exhibiting the same behavior</p>

<p>To replicate:<br />
- apply a column level filter on any of the columns and it should filter correctly<br />
ex: Search 'Golf' on the commodity column<br />
<img src="https://datatables.net/forums/uploads/editor/jt/skt7wnkpwqz4.png" alt="" title="" /><br />
- Then refresh the page, and see that the filter is still present in the UI, but the table is not filtered.<br />
<img src="https://datatables.net/forums/uploads/editor/zx/noi3lw90c8hh.png" alt="" title="" /></p>

<p>The global search does correctly reapply the filter on reload.</p>
]]>
        </description>
    </item>
    <item>
        <title>Datatable 3 - Loading...</title>
        <link>https://next.datatables.net/forums/discussion/81896/datatable-3-loading</link>
        <pubDate>Fri, 28 Aug 2026 05:40:06 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>saldahna</dc:creator>
        <guid isPermaLink="false">81896@/forums/discussions</guid>
        <description><![CDATA[<p>Hi everyone, i got this message "Loading..." in all my tables and doesn´t load the data, all my configuration are the same and i don´t know if this message is because the update to DT3, grateful any help</p>

<p><img src="https://datatables.net/forums/uploads/editor/ab/r3d8c5dz7sew.png" alt="" title="" /></p>
]]>
        </description>
    </item>
    <item>
        <title>Using an api search for "null" values in 3.x inconsistent with 2.x functionality</title>
        <link>https://next.datatables.net/forums/discussion/81898/using-an-api-search-for-null-values-in-3-x-inconsistent-with-2-x-functionality</link>
        <pubDate>Fri, 28 Aug 2026 15:30:17 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>Garoun</dc:creator>
        <guid isPermaLink="false">81898@/forums/discussions</guid>
        <description><![CDATA[<p>Nightly (as of 20260828.1123 EDT): <a rel="nofollow" href="https://live.datatables.net/merameze/1/edit" title="https://live.datatables.net/merameze/1/edit"></a><a rel="nofollow" href="https://live.datatables.net/merameze/1/edit">https://live.datatables.net/merameze/1/edit</a><br />
* Select Nulls button fails to only select null items, not sure if the recommendation for that has changed</p>

<p>2.3.8: <a rel="nofollow" href="https://live.datatables.net/cuhiwequ/1/edit" title="https://live.datatables.net/cuhiwequ/1/edit"></a><a rel="nofollow" href="https://live.datatables.net/cuhiwequ/1/edit">https://live.datatables.net/cuhiwequ/1/edit</a><br />
* Clicking the various buttons works as expected</p>

<p>Prior to 3.x the recommended way to search on null values was to use a regex with "^$" as the search criteria, however in 3.x this same code now clears the entire table rather than only showing null values</p>

<p><em>Note: I was able to get around this using a custom function for the search, but I'd have expected a regex search to work as well without needing the custom function since it was working in 2.x</em></p>
]]>
        </description>
    </item>
    <item>
        <title>How to specify column order</title>
        <link>https://next.datatables.net/forums/discussion/81899/how-to-specify-column-order</link>
        <pubDate>Fri, 28 Aug 2026 16:27:43 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>gb691</dc:creator>
        <guid isPermaLink="false">81899@/forums/discussions</guid>
        <description><![CDATA[<p>Hi,</p>

<p>I'm getting input from a user via a dropdown, they can select employees or managers, which will run 2 separate SQL queries depending on which option was chosen and return the results as JSON data. The 2 datasets have many of the same columns, with only a handful unique to each, so in my javascript I've specified 2 variables to hold the "common" and "unique" columns and have then spread them in the <code>columns</code> property.</p>

<p>However, the columns appear in the datatable as per the order of the columns array, so my unique columns are appearing at the end currently, which is not what I want.</p>

<p>Is there a way within the column object itself to define its position in the table? E.g.</p>

<pre><code>{
        data: "id",
        title: "Employee ID",
        visible: true,
        position: 0
}
</code></pre>

<p>Kind regards,<br />
Guy</p>

<pre><code>const commonColumns = [         
    { 
        data: "firstName",
        title: "First Name",
        visible: true
    },
    { 
        data: "lastName",
        title: "Last Name",
        visible: true
    },
    { 
        data: "age",
        title: "Age",
        visible: true
    }
    etc...
];


const uniqueColumns = {
    'EMP' : [
        {
            data: "id",
            title: "Employee ID",
            visible: true
        },
        {
            data: "manager",
            title: "Manager",
            visible: true
        }
    ],
    'MAN' : [
        {
            data: "teamName",
            title: "Team Name",
            visible: true
        },
        {
            data: "budget",
            title: "Budget",
            visible: true
        }
        etc...
    ]
}


...
columns: [
    ...commonColumns,
    ...uniqueColumns[cohortSelected]
],
...
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>Default order AJAX datatable by data property</title>
        <link>https://next.datatables.net/forums/discussion/81894/default-order-ajax-datatable-by-data-property</link>
        <pubDate>Thu, 27 Aug 2026 14:42:48 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>gb691</dc:creator>
        <guid isPermaLink="false">81894@/forums/discussions</guid>
        <description><![CDATA[<p>Hi,</p>

<p>I have a DataTable whose contents are being loaded via AJAX. I know that to default order a DataTable on load I can use the <code>order: [[10,"asc"]]</code> property, however, this requires that I don't later decide to move my columns about. Is there a way to order by specifying a column name or something that isn't tied to the column's position? I've tried the following but have had no luck. It doesn't have to be the data property, just anything that prevents me from having to specify the column's position, so that if I decide to change things around later, I don't have to change the <code>order</code> property too.</p>

<pre><code>order: {
        data: "studentId",
        dir: "desc"
}
</code></pre>

<p>An example of one of my columns.</p>

<pre><code>columns: [
    { 
        data: "studentId",
        title: "Student ID",
        visible: true
    }
]
</code></pre>

<p>Apologies if this has been covered elsewhere but I couldn't see anything on the <code>order</code> reference pages.</p>
]]>
        </description>
    </item>
    <item>
        <title>datatables 3: Number format gives wrong output for negative numbers</title>
        <link>https://next.datatables.net/forums/discussion/81891/datatables-3-number-format-gives-wrong-output-for-negative-numbers</link>
        <pubDate>Tue, 25 Aug 2026 08:14:20 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>Björn Pedersen</dc:creator>
        <guid isPermaLink="false">81891@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>:<br />
<strong>Error messages shown</strong>:<br />
<strong>Description of problem</strong>:</p>

<p>The determiniation of the decimal part fails for negative numbers:</p>

<p>See this debug output with values displayed:</p>

<pre><code>          return null == a &amp;&amp; (a = ht),
            null == i &amp;&amp; (i = gt),
            {
                display: function(e) {￼e = -1140516
                    var t, r, n;￼t = "-", r = 1140516.46, n = ",81032.46"
                    return "number" != typeof e &amp;&amp; "string" != typeof e || "" === e || null === e ? e : (t = (n = "number" == typeof e ? e : parseFloat(e)) &lt; 0 ? "-" : "",￼e = -1140516
                    1e11 &lt;= (r = Math.abs(n)) || r &lt; 1e-4 &amp;&amp; 0 !== r ? (r = n.toExponential(o).split(/e\+?/))[0] + " x 10&lt;sup&gt;" + r[1] + "&lt;/sup&gt;" : isNaN(n) ? k.escapeHtml(e) : (n = n.toFixed(o),￼r = 1140516.46
                    r = Math.abs(n),
                    e = parseInt(n, 10),￼e = -1140516
                    n = o ? i + (r - e).toFixed(o).substring(2) : "",￼r = 1140516.46
                    (t = 0 === e &amp;&amp; 0 === parseFloat(n) ? "" : t) + (l || "") + e.toString().replace(/\B(?=(\d{3})+(?!\d))/g, a) + n + (s || "")))
                }
            }
        },
</code></pre>

<p>r is always positive, but the integer val e is negative for negative numbers, so <code>r-e</code>  gives a large sum instedd of the decimal part.</p>
]]>
        </description>
    </item>
    <item>
        <title>why are .NET libraries focusing on query from database?</title>
        <link>https://next.datatables.net/forums/discussion/81886/why-are-net-libraries-focusing-on-query-from-database</link>
        <pubDate>Fri, 21 Aug 2026 00:24:11 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>unicorn64</dc:creator>
        <guid isPermaLink="false">81886@/forums/discussions</guid>
        <description><![CDATA[<p>DataTables.net is perfect, we all love it.<br />
we love it as an UI tool, but database query is another concern.<br />
many web application uses some orm tool for query data from database, and also data doesnt always come from db, maybe mock data for testing, or 3rd party webapi can provide.</p>

<p>i wish .net part would be a c# wrapper of DataTables.net's js api, it would be more and more effective imho</p>
]]>
        </description>
    </item>
    <item>
        <title>DT 3.x adding extra "-" to negative numbers sent from JSON</title>
        <link>https://next.datatables.net/forums/discussion/81889/dt-3-x-adding-extra-to-negative-numbers-sent-from-json</link>
        <pubDate>Fri, 21 Aug 2026 18:08:16 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>Garoun</dc:creator>
        <guid isPermaLink="false">81889@/forums/discussions</guid>
        <description><![CDATA[<p><strong><a rel="nofollow" href="https://live.datatables.net/hixucaci/1/edit?html,js,output">3.0.2 Test Case</a></strong><br />
* Incorrectly shows the negative numbers and appends an extra "-", this is the case whether the incoming data is a true number or a string number</p>

<p><strong><a rel="nofollow" href="https://live.datatables.net/jotobeme/1/edit?html,js,output">2.3.8 Test Case</a></strong><br />
* Properly shows the negative values as expected</p>

<p>As you can see from the examples, 3.x version introduced an issue with negative numbers when using the render.number helper.  It's currently causing an extra minus sign to be tacked on to the display value.**</p>
]]>
        </description>
    </item>
    <item>
        <title>ColumnControl: SearchList does not appropriately parse characters</title>
        <link>https://next.datatables.net/forums/discussion/81045/columncontrol-searchlist-does-not-appropriately-parse-characters</link>
        <pubDate>Mon, 16 Jun 2025 14:41:02 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>Kuronuma</dc:creator>
        <guid isPermaLink="false">81045@/forums/discussions</guid>
        <description><![CDATA[<p>Hello!</p>

<p>I recently installed the latest update to DataTables and I have enabled the new Column Control extension. There are two issues I am running into:</p>

<ol>
<li>With the <a rel="nofollow" href="/https://datatables.net/reference/content/searchList">SearchList</a> content type enabled for a column, if I have two values in a column that are the same except <strong>one</strong> value has a space character (at the beginning, end, or somewhere in between) and the other doesn't, they are being treated as separate values.</li>
<li>With the <a rel="nofollow" href="/https://datatables.net/reference/content/searchList">SearchList</a> content type enabled for a column, if a value in a column has one of these special characters, it will <strong>not</strong> be returned when the column is filtered by that value:<br />
<ul>
<li>non-breaking space (<code>&amp;#160;</code>)</li>
<li>less than (<code>&lt;</code> or <code>&amp;lt;</code>)</li>
<li>greater than (<code>&gt;</code> or <code>&amp;gt;</code>)</li>
</ul></li>
</ol>
]]>
        </description>
    </item>
    <item>
        <title>Issue found in ColumnControl with SaveState and search logic icons</title>
        <link>https://next.datatables.net/forums/discussion/81885/issue-found-in-columncontrol-with-savestate-and-search-logic-icons</link>
        <pubDate>Thu, 20 Aug 2026 12:55:52 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>Elizabeth M Smith</dc:creator>
        <guid isPermaLink="false">81885@/forums/discussions</guid>
        <description><![CDATA[<p>SearchInput._stateLoad() never validates a restored search-logic value against the currently-rendered &lt;option&gt;s before repainting the type icon, so a stale/mismatched saved value renders literal "undefined". - probably should just pop the first option and clear the value if the logic type no longer exists</p>

<p>Kind of hard to reproduce all the time, but I can generally reproduce it it tables using column reorder that are then refreshed - you get "undefined" instead of the correct icon in the search input</p>
]]>
        </description>
    </item>
    <item>
        <title>key not visible on account page</title>
        <link>https://next.datatables.net/forums/discussion/81879/key-not-visible-on-account-page</link>
        <pubDate>Tue, 18 Aug 2026 14:46:17 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>craigh</dc:creator>
        <guid isPermaLink="false">81879@/forums/discussions</guid>
        <description><![CDATA[<p>Hi Allan</p>

<p>I just started a <strong>plus</strong> trial and I can see my trial key on this page: <a rel="nofollow" href="https://datatables.net/plus/installation">https://datatables.net/plus/installation</a></p>

<p>but that page also says</p>

<blockquote>
  <p>Your license keys are always available on your account page</p>
</blockquote>

<p>but I cannot see they key on my account page <img src="https://next.datatables.net/forums/resources/emoji/disappointed.png" title=":disappointed:" alt=":disappointed:" height="20" /></p>
]]>
        </description>
    </item>
    <item>
        <title>Treat blank value as a different value for ordering</title>
        <link>https://next.datatables.net/forums/discussion/81876/treat-blank-value-as-a-different-value-for-ordering</link>
        <pubDate>Tue, 18 Aug 2026 13:57:20 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>gb691</dc:creator>
        <guid isPermaLink="false">81876@/forums/discussions</guid>
        <description><![CDATA[<p>Hi,</p>

<p>I have a column in my DataTable in which either a date will be shown (where one exists in the database) or it will be blank. Presently, when sorting by this column ascending, all the blanks are shown first, before the actual dates. Is there a way to say "in this column full of dates, treat any blank values as a really far off date, e.g. 01/01/3000" ?</p>

<p>Many thanks for your help in advance.</p>
]]>
        </description>
    </item>
    <item>
        <title>After upgrade to 3.0.1 error : s.match is not a function stringToCss</title>
        <link>https://next.datatables.net/forums/discussion/81875/after-upgrade-to-3-0-1-error-s-match-is-not-a-function-stringtocss</link>
        <pubDate>Mon, 17 Aug 2026 17:02:40 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>tfcroft4</dc:creator>
        <guid isPermaLink="false">81875@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>:  <a rel="nofollow" href="https://liveresults2.kitst.co.uk/#coll1km26.csv">https://liveresults2.kitst.co.uk/#coll1km26.csv</a></p>

<p><strong>Debugger code (debug.datatables.net)</strong>:<br />
old page  onecom<br />
new page Upload does not get past Gathering data</p>

<p><strong>Error messages shown</strong>:<br />
jQuery.Deferred exception: s.match is not a function stringToCss@<a rel="nofollow" href="https://liveresults2.kitst.co.uk/js/datatables/datatables.js:83109:14">https://liveresults2.kitst.co.uk/js/datatables/datatables.js:83109:14</a><br />
<strong>Description of problem</strong>:<br />
I upgraded from 2.1.8 to 3.0.1 and get the above error</p>

<p>The original site with 2.1.8 is here:  <a rel="nofollow" href="https://liveresults.kitst.co.uk/#coll1km26.csv">https://liveresults.kitst.co.uk/#coll1km26.csv</a></p>

<p>Thanks<br />
Ted<br />
tfcroft4</p>
]]>
        </description>
    </item>
    <item>
        <title>Loading datatables in wordpress functions.php not working</title>
        <link>https://next.datatables.net/forums/discussion/81872/loading-datatables-in-wordpress-functions-php-not-working</link>
        <pubDate>Sun, 16 Aug 2026 13:20:44 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>Murray</dc:creator>
        <guid isPermaLink="false">81872@/forums/discussions</guid>
        <description><![CDATA[<p>The following code in functions.php works fine in one Wordpress website but not in another.</p>

<pre><code>function divi__child_theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    
    // add datatables css
    wp_enqueue_style( 'datatables-css', '//cdn.datatables.net/v/dt/jszip-2.5.0/dt-1.13.1/b-2.3.3/b-html5-2.3.3/b-print-2.3.3/r-2.4.0/sl-1.5.0/datatables.css');
    
}
add_action( 'wp_enqueue_scripts', 'divi__child_theme_enqueue_styles' );

function divi__child_theme_register_scripts() {
    
    
    // add datatables js
    wp_enqueue_script( 'datatables-pdf-js', '//cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/pdfmake.js');
    wp_enqueue_script( 'datatables-fonts-js', '//cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/vfs_fonts.js');
    wp_enqueue_script( 'datatables-datatables-js', '//cdn.datatables.net/v/dt/jszip-2.5.0/dt-1.13.1/b-2.3.3/b-html5-2.3.3/b-print-2.3.3/r-2.4.0/sl-1.5.0/datatables.js');
    wp_enqueue_script( 'datatables-moment-js', '//cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.2/moment.min.js'); 
    
  
}
add_action( 'wp_enqueue_scripts', 'divi__child_theme_register_scripts' );

</code></pre>

<p>In the second site I get the following errors:-<br />
Uncaught TypeError: Cannot read properties of undefined (reading 'textContent')<br />
jquery-migrate.min.js?ver=3.4.1:2 JQMIGRATE: Migrate is installed, version 3.4.1<br />
jquery.min.js?ver=3.7.1:2 jQuery.Deferred exception: jQuery(...).DataTable is not a function TypeError: jQuery(...).DataTable is not a function<br />
    at HTMLDocument.eval (eval at &lt;anonymous&gt; (<a rel="nofollow" href="https://hasi.com.au/newhasi/pricing/:2:127),">https://hasi.com.au/newhasi/pricing/:2:127),</a> &lt;anonymous&gt;:4:26)<br />
    at e (<a rel="nofollow" href="https://hasi.com.au/newhasi/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2:27028)">https://hasi.com.au/newhasi/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2:27028)</a><br />
    at t (<a rel="nofollow" href="https://hasi.com.au/newhasi/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2:27330)">https://hasi.com.au/newhasi/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2:27330)</a> undefined<br />
ce.Deferred.exceptionHook @ jquery.min.js?ver=3.7.1:2<br />
jquery.min.js?ver=3.7.1:2 Uncaught TypeError: jQuery(...).DataTable is not a function<br />
    at HTMLDocument.eval (eval at &lt;anonymous&gt; (pricing/:2:127), &lt;anonymous&gt;:4:26)<br />
    at e (jquery.min.js?ver=3.7.1:2:27028)<br />
    at t (jquery.min.js?ver=3.7.1:2:27330)</p>

<p>Any ideas would be very welcome.</p>
]]>
        </description>
    </item>
    <item>
        <title>ColumnControl: using the searchList for entries that include commas</title>
        <link>https://next.datatables.net/forums/discussion/81870/columncontrol-using-the-searchlist-for-entries-that-include-commas</link>
        <pubDate>Fri, 14 Aug 2026 12:54:28 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>timb72</dc:creator>
        <guid isPermaLink="false">81870@/forums/discussions</guid>
        <description><![CDATA[<p>I have an issue where I'm building a searchList from database records, but the text for each searchList item can contain commas, but because the comma is used to delimit each searchList item this can "break" the items shown in the dropdown as it thinks the commas used in the text for each entry is also the delimiter.   Hope that makes sense!  So is there a way around this - if I was to escape the commas in the text first would that work?  Or is there a way to change what character is used to delimit each entry of the searchList?</p>

<p>Thanks,<br />
Tim</p>
]]>
        </description>
    </item>
    <item>
        <title>Column filter</title>
        <link>https://next.datatables.net/forums/discussion/81866/column-filter</link>
        <pubDate>Wed, 12 Aug 2026 08:13:42 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>rosario.martone</dc:creator>
        <guid isPermaLink="false">81866@/forums/discussions</guid>
        <description><![CDATA[<p>Description of problem:<br />
Hi everyone!<br />
I am trying to find a way to customise the search into one of the column in my grid.<br />
Values for this column can be dynamic: for example 100,101,102,1000.<br />
I would like to limit the result to a very specific customisation. In the above values for example, I would like to search for 100,102 and only having as result rows where either 100 or 102 are present (not 1000 or 10201 for example).<br />
Is that possible?<br />
I am trying using the following syntax:</p>

<pre><code>this.filter = (value) =&gt; {
    this.tableRef.column(`${this.columnName}:name`).search(value).draw();

    let searchPattern = value
        .split(',')
        .map(item =&gt; $.fn.dataTable.util.escapeRegex(item.trim()))
        .join('|');

    this.tableRef.column(`${this.columnName}:name`).search(searchPattern, true, false).draw();
}
</code></pre>

<p>but the result is coming with values containing for example 10050, 100321.</p>

<p>Thanks for help!<br />
Ross</p>
]]>
        </description>
    </item>
    <item>
        <title>Card behavior when window size changes</title>
        <link>https://next.datatables.net/forums/discussion/81867/card-behavior-when-window-size-changes</link>
        <pubDate>Wed, 12 Aug 2026 12:27:04 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>craigh</dc:creator>
        <guid isPermaLink="false">81867@/forums/discussions</guid>
        <description><![CDATA[<p>Starting with a wide window, if you go to the 'simple' example here: <a rel="nofollow" href="https://datatables.net/examples/cardview/initialisation/simple.html">https://datatables.net/examples/cardview/initialisation/simple.html</a></p>

<p>the datatable renders as expected. If you then manually narrow the window to a minimum width, both the table and the cards disappear! Is this the expected behavior?</p>
]]>
        </description>
    </item>
    <item>
        <title>Checkboxes on a few columns Select All/None</title>
        <link>https://next.datatables.net/forums/discussion/81865/checkboxes-on-a-few-columns-select-all-none</link>
        <pubDate>Tue, 11 Aug 2026 11:31:10 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>rosario.martone</dc:creator>
        <guid isPermaLink="false">81865@/forums/discussions</guid>
        <description><![CDATA[<p>I am trying to set up a grid where some of the columns are having a checkbox in the header column so I can trigger a function for select/deselect all the rows for that column. From what I can see, it looks like datatable.js doesn't offer the feature straight from the box?</p>

<p>Thanks for any help provided!</p>
]]>
        </description>
    </item>
   </channel>
</rss>
