<?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>Recent Discussions — DataTables forums</title>
        <link>https://next.datatables.net/forums/</link>
        <pubDate>Wed, 22 Jul 2026 01:31:57 +0000</pubDate>
        <language>en</language>
            <description>Recent Discussions — DataTables forums</description>
    <language>en</language>
    <atom:link href="https://next.datatables.net/forums/discussions/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>ColReorder does not work properly with Vue when ordering slot rendered columns</title>
        <link>https://next.datatables.net/forums/discussion/81829/colreorder-does-not-work-properly-with-vue-when-ordering-slot-rendered-columns</link>
        <pubDate>Mon, 20 Jul 2026 15:43:38 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>coreyg142</dc:creator>
        <guid isPermaLink="false">81829@/forums/discussions</guid>
        <description><![CDATA[<p>Test case here: <a rel="nofollow" href="https://stackblitz.com/edit/koj9creq-qd2zsh1k?file=src%2FApp.vue">https://stackblitz.com/edit/koj9creq-qd2zsh1k?file=src%2FApp.vue</a></p>

<p>To see the issue, first reorder the position column, it should work as expected.</p>

<p>Then try to reorder the name column. You'll see it does not draw the correct template, and instead duplicates the position data</p>

<p>The reverse happens if Name is moved first, and Position second.</p>

<p>I also tested this on the 3.0 beta versions, same behavior occurs.</p>
]]>
        </description>
    </item>
    <item>
        <title>Can DataTables directly pull a csv file from OneDrive (to be published in an html webpage)?</title>
        <link>https://next.datatables.net/forums/discussion/81828/can-datatables-directly-pull-a-csv-file-from-onedrive-to-be-published-in-an-html-webpage</link>
        <pubDate>Sun, 19 Jul 2026 03:18:50 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>dsugandi</dc:creator>
        <guid isPermaLink="false">81828@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>:<br />
<strong>Debugger code (debug.datatables.net)</strong>:<br />
<strong>Error messages shown</strong>:<br />
<strong>Description of problem</strong>:</p>
]]>
        </description>
    </item>
    <item>
        <title>PDF Export button - how to ignore Actions buttons column</title>
        <link>https://next.datatables.net/forums/discussion/81827/pdf-export-button-how-to-ignore-actions-buttons-column</link>
        <pubDate>Thu, 16 Jul 2026 13:30:31 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>Mark2024</dc:creator>
        <guid isPermaLink="false">81827@/forums/discussions</guid>
        <description><![CDATA[<p>I am using standard export buttons, PDF, Excel, Print.<br />
I have one column in the table with fixed visibility, that is Actions column that contains HTML buttons.<br />
I want that column to be ignored during export, and all other visible columns exported.</p>
]]>
        </description>
    </item>
    <item>
        <title>We're correctly using -1 and 'All' in the lengthmenu but choosing 'All' show no rows</title>
        <link>https://next.datatables.net/forums/discussion/81824/were-correctly-using-1-and-all-in-the-lengthmenu-but-choosing-all-show-no-rows</link>
        <pubDate>Tue, 14 Jul 2026 19:53:46 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>lefh</dc:creator>
        <guid isPermaLink="false">81824@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Description of problem</strong>:</p>
]]>
        </description>
    </item>
    <item>
        <title>[Bug] Scroller shows a blank table when restoring saved state</title>
        <link>https://next.datatables.net/forums/discussion/81823/bug-scroller-shows-a-blank-table-when-restoring-saved-state</link>
        <pubDate>Tue, 14 Jul 2026 19:10:01 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>choc</dc:creator>
        <guid isPermaLink="false">81823@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>: <a rel="nofollow" href="https://stackblitz.com/edit/datatables-net-react-simple-x2wmk8kv?file=src%2FApp.tsx">https://stackblitz.com/edit/datatables-net-react-simple-x2wmk8kv?file=src%2FApp.tsx</a></p>

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

<p>The test case (React) doesn't work as expected as example showed in the website: <a rel="nofollow" href="https://datatables.net/extensions/scroller/examples/initialisation/state_saving.html">https://datatables.net/extensions/scroller/examples/initialisation/state_saving.html</a></p>

<p>After the DataTable is unmounted and mounted again, Scroller should restore the saved scroll position and render the rows visible at that position.</p>

<p>Actual behavior:<br />
The scroll position and display range are restored, but the Scroller viewport is blank.</p>

<p>For example, the information element shows: "Showing 49,991 to 50,000 of 50,000 entries" but no rows are rendered in the viewport.<br />
<img src="https://datatables.net/forums/uploads/editor/pk/lptaccno63bd.png" alt="" title="" /></p>

<p>Steps to reproduce:<br />
1. Open the test case.<br />
2. Scroll to any position.<br />
4. Click "display table/hide table" button to  conditionally unmount the DataTable.<br />
5. Mount the DataTable again.<br />
6. The saved position is restored, but the viewport is blank.</p>

<p>PS: I also tested on my side locally with <code>createPortal</code> implementation of the <code>DataTables component for React</code>, it still shows the same problem.</p>

<p>Seems like it has something to do with <a rel="nofollow" href="//datatables.net/reference/api/draw()"><code title="DataTables API method">draw()</code></a>?</p>
]]>
        </description>
    </item>
    <item>
        <title>Delete my account</title>
        <link>https://next.datatables.net/forums/discussion/81822/delete-my-account</link>
        <pubDate>Tue, 14 Jul 2026 08:49:34 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>moro1996</dc:creator>
        <guid isPermaLink="false">81822@/forums/discussions</guid>
        <description><![CDATA[<p>I want to delete my account. What is the process?</p>
]]>
        </description>
    </item>
    <item>
        <title>adding a variable where clause based on a user id</title>
        <link>https://next.datatables.net/forums/discussion/81820/adding-a-variable-where-clause-based-on-a-user-id</link>
        <pubDate>Sun, 12 Jul 2026 17:27:27 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>Twiggit</dc:creator>
        <guid isPermaLink="false">81820@/forums/discussions</guid>
        <description><![CDATA[<p>I have several Editor panels that I have been mandated to modify for one user (uid) to limit results only to where the country is ENG or WLS.  The rest of the users need to see everything.</p>

<p>I thought I could do with something like the script below but apparently not.  Can someone help me out and let me know the best way to accomplish this?</p>

<p>if($_SESSION['uid']=== 1983){<br />
    $uk_where = "-&gt;where( function ( $q ) {<br />
    $q<br />
     -&gt;where('crm.primary_profile.country', 'WLS', '=')<br />
    } ); ";<br />
    }else{<br />
       $uk_where = ' ';<br />
   }</p>

<p>and echoing out $uk_where after the joins but it doesn't work.  Any help would be appreciated</p>
]]>
        </description>
    </item>
    <item>
        <title>ColumnControl searchList doesn't see Unicode</title>
        <link>https://next.datatables.net/forums/discussion/81819/columncontrol-searchlist-doesnt-see-unicode</link>
        <pubDate>Sun, 05 Jul 2026 11:54:25 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>Storms_LV</dc:creator>
        <guid isPermaLink="false">81819@/forums/discussions</guid>
        <description><![CDATA[<p>DataTables 2.3.7,<br />
ColumnControl 1.2.1,<br />
Bootstrap 5.3.8</p>

<p>When searchList collects options from a column containing localized text (UTF8), it converts all localized characters to the corresponding Latin letter. But search is running correctly.<br />
There is no such problem if the options are passed from the server side with ajax.<br />
I tried different columns.type options - 'string-utf8', 'html-utf8' - nothing changes.</p>

<p>Here is an example of what it looks like:<br />
<img src="https://datatables.net/forums/uploads/editor/tn/02w8iditbglf.jpg" alt="" title="" /></p>

<p>Here is an example of ajax data:<br />
<img src="https://datatables.net/forums/uploads/editor/04/brz18ai3axne.jpg" alt="" title="" /></p>
]]>
        </description>
    </item>
    <item>
        <title>Export to Excel: specific data is missing</title>
        <link>https://next.datatables.net/forums/discussion/81781/export-to-excel-specific-data-is-missing</link>
        <pubDate>Wed, 20 May 2026 19:20:03 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>elstupid</dc:creator>
        <guid isPermaLink="false">81781@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>:  <a rel="nofollow" href="https://live.datatables.net/ramapozi/1/edit">https://live.datatables.net/ramapozi/1/edit</a><br />
<strong>Description of problem</strong>:<br />
I came across this very specific problem with data, see example. It's part of a live table I have with items, which have a brand name and a serial number.</p>

<p>If I try to export this table to CSV or any other option, data is exactly exported as is. If it's exported to Excel however, the value for "18E03778" is converted to <a rel="nofollow" href="https://next.datatables.net/forums/search?Search=%23NULL&amp;Mode=like"></a><a rel="nofollow" href="https://next.datatables.net/forums/search?Search=%23NULL&amp;Mode=like">#NULL</a>!<br />
If I change it to "18F03778" it exports just fine. It seems this is data specific, where the export to Excel interprets data and sees some as text, others as numbers and this one possibly as hex or something?<br />
Because this is textual data in the JSON it should render as just text in Excel.</p>

<p>Is there a workaround to force this to render as text (even though I feel this shouldn't happen)?</p>
]]>
        </description>
    </item>
    <item>
        <title>ColumnControl header/control alignment not working for datetime</title>
        <link>https://next.datatables.net/forums/discussion/81813/columncontrol-header-control-alignment-not-working-for-datetime</link>
        <pubDate>Fri, 26 Jun 2026 16:09:45 +0000</pubDate>
        <category>ColumnControl</category>
        <dc:creator>bg7</dc:creator>
        <guid isPermaLink="false">81813@/forums/discussions</guid>
        <description><![CDATA[<p>We're using datetime columns and we'd like to have the ColumnControl headers/controls left/right alignment be consistent with all other column headers/controls (we'd prefer the controls on the right side).  I found this page that explains how to do that:</p>

<p><a rel="nofollow" href="https://datatables.net/extensions/columncontrol/examples/styling/alignmentBothLeft.html">https://datatables.net/extensions/columncontrol/examples/styling/alignmentBothLeft.html</a></p>

<p>However, while it works for date columns it doesn't appear to work for datetime columns.  Here's an example:</p>

<p><a rel="nofollow" href="https://live.datatables.net/mijusame/5/edit">https://live.datatables.net/mijusame/5/edit</a></p>

<p>This line in the example:</p>

<pre><code>DataTable.type('datetime', 'className', 'dt-left');
</code></pre>

<p>doesn't seem to have any effect.  Am I doing something wrong?</p>

<p>Thanks.</p>

<p>Ben</p>
]]>
        </description>
    </item>
    <item>
        <title>StateRestore ColumnControl saving by column index not column name</title>
        <link>https://next.datatables.net/forums/discussion/81806/staterestore-columncontrol-saving-by-column-index-not-column-name</link>
        <pubDate>Wed, 17 Jun 2026 15:10:29 +0000</pubDate>
        <category>StateRestore</category>
        <dc:creator>bg7</dc:creator>
        <guid isPermaLink="false">81806@/forums/discussions</guid>
        <description><![CDATA[<p>We're running into an issue with StateRestore.  It's been working well up until we added a new column to the table that users are using to save states (the new column was added into the middle of the table in terms of column order).  As a result, the saved state data appears to no longer line up with the columns they were saved for.  I looked at the StateRestore data and I see this:</p>

<pre><code>"columnControl": {
  "2": {
    "searchList": [],
    "searchInput": {
      "logic": "contains",
      "type": "text",
      "value": ""
    }
  },
  "3": {
    "searchList": [],
    "searchInput": {
      "logic": "contains",
      "type": "text",
      "value": ""
    }
  },
  "4": {
    "searchList": [],
    "searchInput": {
      "logic": "contains",
      "type": "text",
      "value": ""
    }
  },
  "6": {
    "searchInput": {
      "logic": "contains",
      "type": "text",
      "value": ""
    }
  },
  "7": {
    "searchList": [],
    "searchInput": {
      "logic": "contains",
      "type": "text",
      "value": ""
    }
  }
},
</code></pre>

<p>If we add a new column it has no way to know how to map the saved data to the correct (updated) columns as it's mapping by column index instead of column name.  This ends up breaking all of the existing saved states.  Am I missing something or don't have StateRestore/ColumnControl configured properly so that it stores this data by column name instead?</p>

<p>Fwiw we're running DataTables 2.3.8, StateRestore 1.4.3 and ColumnControl 1.2.1.</p>

<p>Thanks.</p>

<p>Ben</p>
]]>
        </description>
    </item>
    <item>
        <title>Recommended development workflow for modifying DataTables source?</title>
        <link>https://next.datatables.net/forums/discussion/81818/recommended-development-workflow-for-modifying-datatables-source</link>
        <pubDate>Sat, 04 Jul 2026 01:50:45 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>choc</dc:creator>
        <guid isPermaLink="false">81818@/forums/discussions</guid>
        <description><![CDATA[<p>Hi,</p>

<p>I’m trying to understand the recommended workflow for customizing or modifying DataTables source code.</p>

<p>From the build documentation, it looks like <a rel="nofollow" href="https://github.com/DataTables/DataTablesSrc">DataTablesSrc</a> needs to be built first because the source files are combined into the final library file. That makes sense, but I’m wondering what the best development workflow is when actively editing the source.</p>

<p>For example, with some other libraries (e.g., <a rel="nofollow" href="https://github.com/plotly/plotly.js">plotly.js</a>), there is a dev server or watch mode where I can edit source files and quickly see the result in the browser. With DataTablesSrc, should I run <code>npm run build-debug</code> <code>npm serve</code> after every change and then refresh the examples? Or is there an official / recommended watch or live-reload setup?</p>

<p>I’ve contributed to <code>plotly.js</code> a few times and find their devtool (test dashboard) for <a rel="nofollow" href="https://github.com/plotly/plotly.js/blob/master/CONTRIBUTING.md#development">development</a> quite useful for debugging/developing. There are so many sample templates (mock data) there that you can switch between and preview.</p>

<p>In general, how do contributors usually work on DataTables core or extensions when testing source changes locally?</p>

<p>Right now, I'm editing/debugging directly from the dist file (.mjs/.js)... (Of course, isn’t the minified file, lol)</p>

<p>Thanks!</p>
]]>
        </description>
    </item>
    <item>
        <title>DataTables 3 beta + FontAwesome performance issues</title>
        <link>https://next.datatables.net/forums/discussion/81814/datatables-3-beta-fontawesome-performance-issues</link>
        <pubDate>Fri, 26 Jun 2026 19:07:27 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>toow</dc:creator>
        <guid isPermaLink="false">81814@/forums/discussions</guid>
        <description><![CDATA[<p>Hi,</p>

<p>I'm seeing performance issues when using the DataTables 3 beta with FontAwesome JS+SVG icons.</p>

<p>Compared to DataTables 2, the same dataset and rendering pattern results in significantly increased rendering time (~10× slower). My table has numerous &lt;span class="fa..."&gt; elements being generated by render functions.</p>

<p>Profiling shows FontAwesome's MutationObserver callbacks increasing from ~85 samples in DataTables 2 (6.3%) to ~6195 samples (84%) in DataTables 3, with nearly all time spent in the observer callback itself.</p>

<p>Example using DT3beta: <a rel="nofollow" href="https://jsfiddle.net/htqrkc4y/">https://jsfiddle.net/htqrkc4y/</a><br />
Same example using DT2: <a rel="nofollow" href="https://jsfiddle.net/pfowrdqx/">https://jsfiddle.net/pfowrdqx/</a><br />
DT3beta "fixed" example: <a rel="nofollow" href="https://jsfiddle.net/k8myha6d/">https://jsfiddle.net/k8myha6d/</a></p>

<p>(The performance issue is hopefully very noticeable if you try to reorder the columns, etc).</p>

<p>As shown in the 3rd link, Disabling Font Awesome’s mutation observer and manually calling FontAwesome.dom.i2svg() once, via the initComplete option, seems to resolve the issue, perhaps suggesting that increased DOM mutation frequency or timing differences in DT3 may be triggering excessive Font Awesome processing?</p>

<p>Thanks, can't begin to say how much I love DataTables and am looking forward to DT3! <img src="https://next.datatables.net/forums/resources/emoji/smile.png" title=":smile:" alt=":smile:" height="20" /></p>
]]>
        </description>
    </item>
    <item>
        <title>Unable to find an exact date using FixedColumns component and calendar with data in DateTime format</title>
        <link>https://next.datatables.net/forums/discussion/81492/unable-to-find-an-exact-date-using-fixedcolumns-component-and-calendar-with-data-in-datetime-format</link>
        <pubDate>Sat, 01 Nov 2025 10:18:47 +0000</pubDate>
        <category>FixedColumns</category>
        <dc:creator>slolo</dc:creator>
        <guid isPermaLink="false">81492@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>: <a rel="nofollow" href="https://live.datatables.net/nilaciqu/1/edit">https://live.datatables.net/nilaciqu/1/edit</a><br />
<strong>Debugger code (debug.datatables.net)</strong>: NA<br />
<strong>Error messages shown</strong>: NA<br />
<strong>Description of problem</strong>: Hello,</p>

<p>Hello,</p>

<p>I'm having a small problem using the FixedColumns component with dates in ISO 8601 format.</p>

<p>In a test case, searching for a specific date doesn't work.</p>

<p>However, sorting is functional, and I can search for dates before or after. Only the exact date doesn't work.</p>

<p>Just to clarify, <strong>my regional settings are in French</strong>.</p>

<p>Ex. Sorting on date: <strong>OK</strong><br />
<img src="https://datatables.net/forums/uploads/editor/9v/kp00231a6aap.png" alt="" title="" /></p>

<p>Ex. Filtering on a later date: <strong>OK</strong><br />
<img src="https://datatables.net/forums/uploads/editor/mh/5k88g0zvm1p5.png" alt="" title="" /></p>

<p>Ex. Filtering on a exact date: <strong>KO</strong><br />
<img src="https://datatables.net/forums/uploads/editor/fl/ya9uvf89hbkz.png" alt="" title="" /></p>

<p>However, the date 2025-11-09 does exist in the table.</p>

<p>Just to clarify, I don't use Moment.js or Luxon.</p>

<p>Thanks in advance for your help and have a nice day.</p>

<p>Lolo</p>
]]>
        </description>
    </item>
    <item>
        <title>Date search does not always work</title>
        <link>https://next.datatables.net/forums/discussion/81695/date-search-does-not-always-work</link>
        <pubDate>Sun, 22 Feb 2026 18:13:11 +0000</pubDate>
        <category>ColumnControl</category>
        <dc:creator>PaulVickery</dc:creator>
        <guid isPermaLink="false">81695@/forums/discussions</guid>
        <description><![CDATA[<p>Good morning, please can someone assist me</p>

<p>I have two issues, however as I cannot demonstrate them properly on the live.datatables.net site, I have created a test site at <a rel="nofollow" href="https://dt.taskmgr.co.uk/">https://dt.taskmgr.co.uk/</a> (I needed to show the issues using ajax and a date format of "2026-05-25", i.e. 'Y-m-d'.</p>

<p>I have not seen any recent issues reported in this area, so apologies if this is a duplicate.</p>

<p><strong>Issue 1)</strong><br />
I cannot get search working correctly with columnControl. I am using moment.js and I can order the dates correctly. However certain dates cannot be searched.<br />
In the example, I have provided four dates, two can be searched, and two cannot.</p>

<p><strong>Issue 2)</strong><br />
When stateSave is used in conjunction with columnControl, then even fewer dates can be searched. In the example, I have provided two displays, one that shows what happens when stateSave is set to “true” and one when it is commented out.</p>

<p><strong>To reproduce using Chrome using the test site:</strong></p>

<p>1)  Clear the browser cache<br />
2)  Reload the page (F5)<br />
3)  In the Date  columnControl search box where stateSave set to true, search for the four dates in turn</p>

<ul>
<li>25/05/26      should fail</li>
<li>06/02/26  should pass</li>
<li>29/11/26      should pass</li>
<li>26/04/26      should fail</li>
</ul>

<p>4)  Repeat step 3 using the bottom table and the results should be the same.<br />
5)  Reload the page<br />
6)  Search again for the two dates that passed in step 3,  i.e. 06/02/26 and 29/11/26 in the top table.  Both should now fail<br />
7)  However, if you check in the bottom table,  where stateSave is commented out, the results should be the same as in step 3.</p>

<p>Issue 1 can also be seen  when looking at the example page <a rel="nofollow" href="https://datatables.net/extensions/columncontrol/examples/searchDates/rendering-moment.html">https://datatables.net/extensions/columncontrol/examples/searchDates/rendering-moment.html</a> and searching for 7th June 2011 in the “Start date” search box.</p>

<p><strong>Relevant files are:</strong></p>

<pre><code>&lt;!doctype html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;meta http-equiv="content-type" content="text/html; charset=utf-8" /&gt;
    &lt;meta name="viewport" content="width=device-width,initial-scale=1"&gt;

    &lt;title&gt;Datetest&lt;/title&gt;

    &lt;script src="https://code.jquery.com/jquery-3.7.1.js"&gt;&lt;/script&gt;
    &lt;script src="https://cdn.datatables.net/2.3.7/js/dataTables.js"&gt;&lt;/script&gt;
    &lt;script src="https://cdn.datatables.net/columncontrol/1.2.0/js/dataTables.columnControl.js"&gt;&lt;/script&gt;
    &lt;script src="https://cdn.datatables.net/columncontrol/1.2.0/js/columnControl.dataTables.js"&gt;&lt;/script&gt;
    &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.30.1/moment.min.js"&gt;&lt;/script&gt;
    &lt;script src="https://cdn.datatables.net/datetime/1.6.3/js/dataTables.dateTime.min.js"&gt;&lt;/script&gt;

    &lt;script src="https://cdn.datatables.net/buttons/3.2.6/js/dataTables.buttons.js"&gt;&lt;/script&gt;
    &lt;script src="https://cdn.datatables.net/buttons/3.2.6/js/buttons.dataTables.js"&gt;&lt;/script&gt;
    &lt;script src="https://cdn.datatables.net/select/3.1.3/js/dataTables.select.js"&gt;&lt;/script&gt;
    &lt;script src="https://cdn.datatables.net/select/3.1.3/js/select.dataTables.js"&gt;&lt;/script&gt;

    &lt;link rel="stylesheet" type="text/css" href="css/generator-base.css"&gt;
    &lt;link rel="stylesheet" type="text/css" href="css/editor.dataTables.min.css"&gt;

    &lt;link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/2.3.7/css/dataTables.dataTables.css"&gt;
    &lt;link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/columncontrol/1.2.0/css/columnControl.dataTables.css"&gt;
    &lt;link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/datetime/1.6.3/css/dataTables.dateTime.min.css"&gt;

    &lt;link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/3.2.6/css/buttons.dataTables.css"&gt;
    &lt;link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/select/3.1.3/css/select.dataTables.css"&gt;
    &lt;script type="text/javascript" charset="utf-8" src="js/dataTables.editor.min.js"&gt;&lt;/script&gt;
    &lt;script type="text/javascript" charset="utf-8" src="js/table.datetest.js"&gt;&lt;/script&gt;
&lt;/head&gt;

&lt;body class="dataTables"&gt;

    &lt;div class="container"&gt;
            &lt;h2&gt;stateSave set to true&lt;/h2&gt;
        &lt;table cellpadding="0" cellspacing="0" border="0" class="display" id="datetest" width="100%"&gt;
            &lt;thead&gt;
                &lt;tr&gt;
                    &lt;th&gt;Name&lt;/th&gt;
                    &lt;th&gt;Date&lt;/th&gt;
                &lt;/tr&gt;
            &lt;/thead&gt;
        &lt;/table&gt;
        &lt;BR&gt;
&lt;hr&gt;
    &lt;h2&gt;stateSave commented out&lt;/h2&gt;
                &lt;table cellpadding="0" cellspacing="0" border="0" class="display" id="datetest1" width="100%"&gt;
            &lt;thead&gt;
                &lt;tr&gt;
                    &lt;th&gt;Name&lt;/th&gt;
                    &lt;th&gt;Date&lt;/th&gt;
                &lt;/tr&gt;
            &lt;/thead&gt;
        &lt;/table&gt;

    &lt;/div&gt;
&lt;/body&gt;

&lt;/html&gt;
</code></pre>

<p><strong>Javascript File</strong></p>

<pre><code>addEventListener("DOMContentLoaded", function () {
    var editor = new DataTable.Editor({
        ajax: 'php/table.datetest.php',
        table: '#datetest',
        fields: [
            {
                "label": "Name:",
                "name": "name"
            },
            {
                "label": "Date:",
                "name": "mydate",
                "type": "datetime",
                "format": "DD\/MM\/YY",
                displayFormat: 'DD\/MM\/YY',
                wireFormat: 'YYYY-MM-DD',
            }
        ]
    });

    var table = new DataTable('#datetest', {
        ajax: 'php/table.datetest.php',
        columnControl: [
            {
                target: 0,
                content: ['orderStatus']
            },
            {
                target: 1,
                content: ['search']
            }
        ],
        stateSave: true,
        ordering: {
            indicators: false
        },
        columns: [
            {
                "data": "name"
            },
            {
                "data": "mydate"
            }
        ],
        columnDefs: [
            {
                targets: [1],
                render: DataTable.render.datetime('DD\/MM\/YY'),
            }
        ],
        layout: {
            topStart: {
                buttons: [
                    { extend: 'create', editor: editor },
                    { extend: 'edit', editor: editor },
                    { extend: 'remove', editor: editor }
                ]
            },
            bottomStart: null,
            bottomEnd: null
        },
        select: true
    });
    var table = new DataTable('#datetest1', {
        ajax: 'php/table.datetest.php',
        columnControl: [
            {
                target: 0,
                content: ['orderStatus']
            },
            {
                target: 1,
                content: ['search']
            }
        ],
        //  stateSave: true,
        ordering: {
            indicators: false
        },
        columns: [
            {
                "data": "name"
            },
            {
                "data": "mydate"
            }
        ],
        columnDefs: [
            {
                targets: [1],
                render: DataTable.render.datetime('DD\/MM\/YY'),
            }
        ],
        layout: {
            topStart: null,
            bottomStart: null,
            bottomEnd: null
        },
        select: true
    });
});
</code></pre>

<p><strong>PHP Controller file</strong></p>

<pre><code>&lt;?php
include( "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;


$db-&gt;sql( "CREATE TABLE IF NOT EXISTS `datetest` (
    `id` int(10) NOT NULL auto_increment,
    `name` varchar(255),
    `mydate` date,
    PRIMARY KEY( `id` )
);" );


Editor::inst( $db, 'datetest', 'id' )
    -&gt;fields(
        Field::inst( 'name' ),
        Field::inst( 'mydate' )
            -&gt;validator( Validate::dateFormat( 'Y-m-d' ) )
            -&gt;getFormatter( Format::dateSqlToFormat( 'Y-m-d' ) )
            -&gt;setFormatter( Format::dateFormatToSql( 'Y-m-d' ) )
    )
    -&gt;process( $_POST )
    -&gt;json();
</code></pre>

<p><strong>Example data showing date format</strong></p>

<pre><code>{
  "data": [
    {
      "DT_RowId": "row_1",
      "name": "user1",
      "mydate": "2026-05-25"
    },
    {
      "DT_RowId": "row_2",
      "name": "user2",
      "mydate": "2026-02-06"
    },
    {
      "DT_RowId": "row_3",
      "name": "user3",
      "mydate": "2026-11-29"
    },
    {
      "DT_RowId": "row_4",
      "name": "user4",
      "mydate": "2026-04-26"
    }
  ],
  "options": [],
  "files": []
}
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>colVis .noVis does not work with checkbox</title>
        <link>https://next.datatables.net/forums/discussion/81817/colvis-novis-does-not-work-with-checkbox</link>
        <pubDate>Mon, 29 Jun 2026 21:13:12 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>PaulVickery</dc:creator>
        <guid isPermaLink="false">81817@/forums/discussions</guid>
        <description><![CDATA[<p>Please can someone help me.  I am sorry if this has been asked before, but I did not find it.</p>

<p>I am successfully implementing the functionality described by "<a rel="nofollow" href="https://editor.datatables.net/examples/api/checkbox.html" title="Always shown checkbox">Always shown checkbox</a>".<br />
I am also using  '"stateSave: true' and colVis functionality.</p>

<p>The problem I have is that is that when I hide the checkbox (the 'active' column in my example), the system throws an error as below.</p>

<blockquote>
  <p>table.issue2.js:71 Uncaught TypeError: Cannot set properties of null (setting 'checked')<br />
      at ce.rowCallback (table.example.js:71:53)<br />
      at datatables.min.js:22:47893<br />
      at Array.map (&lt;anonymous&gt;)<br />
      at Z (datatables.min.js:22:47868)<br />
      at x (datatables.min.js:22:27520)<br />
      at Ie (datatables.min.js:22:28208)<br />
      at datatables.min.js:22:37013<br />
      at Object.t [as success] (datatables.min.js:22:32936)<br />
      at c (datatables.min.js:14:25266)<br />
      at Object.fireWith [as resolveWith] (datatables.min.js:14:26015)</p>
</blockquote>

<p>I have therefore tried to use .noVis to make sure that the column does not get displayed in the "Column Visibility" pull down menu, but it does not work for the checkbox. ( The  "Active" column is always in the list). In my example I can make .noVis work with the other (type text) columns.</p>

<p>In my example I have **not **used the jquery-ui css or js files, but the base Datatables ones. However, I have tested it using all the files in the "Always shown checkbox example" and the issue is the same.</p>

<p>The problem can be demonstrated by going to <a rel="nofollow" href="https://dt.taskmgr.co.uk/">https://dt.taskmgr.co.uk/</a> and selecting "colVis .noVis does not work with checkbox".</p>

<p>Thank you in advance for your help.</p>

<p>Files used are:</p>

<pre><code>    &lt;!doctype html&gt;
    &lt;html&gt;

    &lt;head&gt;
        &lt;meta http-equiv="content-type" content="text/html; charset=utf-8" /&gt;
        &lt;meta name="viewport" content="width=device-width,initial-scale=1"&gt;

        &lt;title&gt;issue2&lt;/title&gt;

        &lt;link rel="stylesheet" type="text/css"
            href="https://cdn.datatables.net/v/dt/jq-3.7.0/moment-2.29.4/dt-2.3.8/b-3.2.6/b-colvis-3.2.6/cr-2.1.2/cc-1.2.1/date-1.6.3/rr-1.5.1/sl-3.1.3/datatables.min.css"&gt;
        &lt;link rel="stylesheet" type="text/css" href="css/generator-base.css"&gt;
        &lt;link rel="stylesheet" type="text/css" href="https://code.jquery.com/ui/1.13.2/themes/base/jquery-ui.css"&gt;
        &lt;link rel="stylesheet" type="text/css" href="css/editor.dataTables.min.css"&gt;

        &lt;script type="text/javascript" charset="utf-8"
            src="https://cdn.datatables.net/v/dt/jq-3.7.0/moment-2.29.4/dt-2.3.8/b-3.2.6/b-colvis-3.2.6/cr-2.1.2/cc-1.2.1/date-1.6.3/rr-1.5.1/sl-3.1.3/datatables.min.js"&gt;&lt;/script&gt;
        &lt;script type="text/javascript" charset="utf-8" src="https://code.jquery.com/ui/1.13.2/jquery-ui.js"&gt;&lt;/script&gt;
        &lt;script type="text/javascript" charset="utf-8" src="js/dataTables.editor.min.js"&gt;&lt;/script&gt;
        &lt;script type="text/javascript" charset="utf-8" src="js/table.issue2.js"&gt;&lt;/script&gt;
    &lt;/head&gt;

    &lt;body class="dataTables"&gt;
        &lt;div class="container"&gt;
            &lt;h1&gt;colVis .noVis does not work with checkbox&lt;/h1&gt;
            &lt;table cellpadding="0" cellspacing="0" border="0" class="display" id="example" width="100%"&gt;
                &lt;thead&gt;
                    &lt;tr&gt;
                        &lt;th&gt;Item&lt;/th&gt;
                        &lt;th&gt;Description&lt;/th&gt;
                        &lt;th&gt;Active&lt;/th&gt;
                    &lt;/tr&gt;
                &lt;/thead&gt;
            &lt;/table&gt;
        &lt;/div&gt;
    &lt;/body&gt;

    &lt;/html&gt;
</code></pre>

<hr />

<pre><code>    &lt;?php

    /*
     * Editor server script for DB table example
     * Created by http://editor.datatables.net/generator
     */

    // DataTables PHP library and database connection
    include( "lib/DataTables.php" );

    // Alias Editor classes so they are easy to use
    use
        DataTables\Editor,
        DataTables\Editor\Field,
        DataTables\Editor\Format,
        DataTables\Editor\Mjoin,
        DataTables\Editor\Options,
        DataTables\Editor\Upload,
        DataTables\Editor\Validate,
        DataTables\Editor\ValidateOptions;

    // The following statement can be removed after the first run (i.e. the database
    // table has been created). It is a good idea to do this to help improve
    // performance.
    $db-&gt;sql( "CREATE TABLE IF NOT EXISTS `issue2` (
        `id` int(10) NOT NULL auto_increment,
        `item` varchar(255),
        `description` varchar(255),
        `active` varchar(255),
        PRIMARY KEY( `id` )
    );" );

    // Build our Editor instance and process the data coming from _POST
    Editor::inst( $db, 'issue2', 'id' )
        -&gt;fields(
            Field::inst( 'item' ),
            Field::inst( 'description' ),
            Field::inst( 'active' )
                -&gt;setFormatter( function ( $val, $data, $opts ) {
                    return ! $val ? 0 : 1;
                } )
        )
        -&gt;process( $_POST )
        -&gt;json();
</code></pre>

<hr />

<pre><code>    /*
     * Editor client script for DB table example
     * Created by http://editor.datatables.net/generator
     */

    addEventListener("DOMContentLoaded", function () {
        var editor = new DataTable.Editor({
            ajax: 'php/table.issue2.php',
            table: '#example',
            fields: [
                {
                    "label": "Item:",
                    "name": "item"
                },
                {
                    "label": "Description:",
                    "name": "description"
                },
                {
                    "label": "Active:",
                    "name": "active",
                    "type": "checkbox",
                    "separator": ",",
                    "separator": '|',
                    "options": [{ label: '', value: 1 }]
                }
            ]
        });

        var table = new DataTable('#example', {
            ajax: 'php/table.issue2.php',
            columns: [
                {
                    "data": "item"
                },
                {
                    "data": "description"
                },
                {
                    data: 'active',
                    render: (data, type, row) =&gt;
                        type === 'display'
                            ? '&lt;input type="checkbox" class="editor-active"&gt;'
                            : data,
                    className: 'dt-body-center'
                }
            ],
            columnDefs: [
                { "targets": 0, "className": 'noVis' },
                { "targets": -1, "className": 'noVis' },
            ],
            "stateSave": true,
            layout: {
                topStart: {
                    buttons: [
                        { extend: 'create', editor: editor },
                        { extend: 'edit', editor: editor },
                        { extend: 'remove', editor: editor },
                        { extend: 'colvis', columns: ':not(.noVis)', popoverTitle: 'Column visibility' },
                    ]
                }
            },
            select: {
                style: 'os',
                selector: 'td:not(:last-child)' // no row selection on last column
            },

            rowCallback: function (row, data) {
                // Set the checked state of the checkbox in the table
                row.querySelector('input.editor-active').checked = data.active == 1;
            }
        });

        table.on('change', 'input.editor-active', function () {
            editor
                .edit(this.closest('tr'), false)
                .set('active', this.checked ? 1 : 0)
                .submit();
        });
    });
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>Type issues in Search Builder</title>
        <link>https://next.datatables.net/forums/discussion/81816/type-issues-in-search-builder</link>
        <pubDate>Mon, 29 Jun 2026 00:29:51 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>choc</dc:creator>
        <guid isPermaLink="false">81816@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>: <a rel="nofollow" href="https://github.com/DataTables/SearchBuilder/blob/master/src/interface.ts#L104">https://github.com/DataTables/SearchBuilder/blob/master/src/interface.ts#L104</a></p>

<p><strong>Description of problem</strong>: According to the doc, <a rel="nofollow" href="//datatables.net/reference/api/searchBuilder.rebuild()"><code title="DataTables API method">searchBuilder.rebuild()</code></a> has two arguments, but the typing is missing the newly added boolean type <code>redraw</code> and the doc might also need be updated too. It says: <a rel="nofollow" href="//datatables.net/reference/api/searchBuilder.rebuild()"><code title="DataTables API method">searchBuilder.rebuild()</code></a> takes one argument...</p>

<p>If I use:</p>

<pre><code>dt.searchBuilder.rebuild()
</code></pre>

<p>I got: TS2554: Expected 1 arguments, but got 0</p>

<p>Same issue for the typing of  <a rel="nofollow" href="//datatables.net/reference/api/searchBuilder.getDetails()"><code title="DataTables API method">searchBuilder.getDetails()</code></a>.</p>

<p>or</p>

<p>If I use:</p>

<pre><code>dt.searchBuilder.rebuild(stored)
</code></pre>

<p>I got:</p>

<p>TS2345: Argument of type</p>

<pre><code>Required&lt;Pick&lt;SearchBuilderDetails, "criteria"&gt;&gt; &amp; SearchBuilderDetails
</code></pre>

<p>is not assignable to parameter of type IDetails<br />
Types of property criteria are incompatible.<br />
Type SearchBuilderCriterion[] is not assignable to type Group[]<br />
Type SearchBuilderCriterion is missing the following properties from type Group: classes, dom, c, s, and 23 more</p>

<p>If I use:</p>

<pre><code>dt.searchBuilder.getDetails(false)
</code></pre>

<p>I got: TS2554: Expected 0 arguments, but got 1</p>
]]>
        </description>
    </item>
    <item>
        <title>How to use dDom and Buttons at the same time</title>
        <link>https://next.datatables.net/forums/discussion/81815/how-to-use-ddom-and-buttons-at-the-same-time</link>
        <pubDate>Sun, 28 Jun 2026 06:52:39 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>u20241229</dc:creator>
        <guid isPermaLink="false">81815@/forums/discussions</guid>
        <description><![CDATA[<p>Hi,</p>

<p>This example includes copy and column visibility options:</p>

<p><a rel="nofollow" href="https://live.datatables.net/guvuzopo/1/edit" title="https://live.datatables.net/guvuzopo/1/edit"></a><a rel="nofollow" href="https://live.datatables.net/guvuzopo/1/edit">https://live.datatables.net/guvuzopo/1/edit</a></p>

<p>I have included some buttons via this code:</p>

<pre><code>$(document).ready(function () {
    var table = $('#example').DataTable({
        order: [],
        bLengthChange: false,
        responsive: true,
        colReorder: true,
        pageLength: 365,
        // sDom: '&lt;"top"lfip&gt;rt&lt;"bottom"ip&lt;"clear"&gt;',
        mark: true,
        layout: {
            topStart: {
                buttons: ['copy', 'csv', 'excel','colvis']
            }
        }
    });

});
</code></pre>

<p>However - as per this 2nd example - I'd like to use sDom to change the layout as follows:</p>

<p><a rel="nofollow" href="https://live.datatables.net/bovedoxo/1/edit" title="https://live.datatables.net/bovedoxo/1/edit"></a><a rel="nofollow" href="https://live.datatables.net/bovedoxo/1/edit">https://live.datatables.net/bovedoxo/1/edit</a></p>

<p>Using this code:</p>

<pre><code>$(document).ready(function () {
    var table = $('#example').DataTable({
        order: [],
        bLengthChange: false,
        responsive: true,
        colReorder: true,
        pageLength: 365,
        sDom: '&lt;"top"lfip&gt;rt&lt;"bottom"ip&lt;"clear"&gt;',
        mark: true,
        layout: {
            topStart: {
                buttons: ['copy', 'csv', 'excel','colvis']
            }
        }
    });

});
</code></pre>

<p>However - using <code>sDom</code> then removes the buttons.</p>

<p>I can't work out what I need to include in the <code>sDom</code> line to ensure that the buttons also appear?</p>

<p>Thanks</p>
]]>
        </description>
    </item>
    <item>
        <title>[React] Can columns be updated dynamically without destroy/reinit?</title>
        <link>https://next.datatables.net/forums/discussion/81142/react-can-columns-be-updated-dynamically-without-destroy-reinit</link>
        <pubDate>Mon, 14 Jul 2025 00:11:29 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>choc</dc:creator>
        <guid isPermaLink="false">81142@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>: <a rel="nofollow" href="https://stackblitz.com/edit/datatables-net-react-simple-n2g41axq?file=src%2FApp.tsx">https://stackblitz.com/edit/datatables-net-react-simple-n2g41axq?file=src%2FApp.tsx</a><br />
<strong>Description of problem</strong>:</p>

<p>DataTables.net for React does not re-render or update when the columns prop changes.</p>

<p>To force it to reflect new column definitions, the only way I found is to to use the <code>key</code> prop.</p>

<p>However, this causes the entire table to unmount and re-mount, which can lead to performance issues and loss of internal states.</p>

<p>For simple case, for example, if one just want to update the name of column, that is possible with API:</p>

<pre><code>const api = table.current?.dt({visible: true, api: true});
if (api) {
   $(api.column(5).header()).html("new name");
}
</code></pre>

<p>It is intuitive that the table should also change when the <code>columns</code> prop changes. (That's why I use react component!)<br />
However, this is not the case when we don't use the <code>key</code> prop to destroy the old table and mount a new one. (?)</p>

<p>I have a use case where I have 91~100 columns, with the first 1~10 columns being dynamically generated, followed by 90 columns that are always present. Depending on the user's selection, the generated columns can change from 1 to 10 columns (different titles and data). In this case, I updated the <code>columns</code> prop, but the table is not updated, only the data is updated!</p>

<p>To make it reactively update the columns, I have to use <code>key</code> prop, like I showed in the example.<br />
But this is not optimal for very large table I think.<br />
So I wonder if it is possible to update the columns dynamically without destroy/reinit the table?</p>
]]>
        </description>
    </item>
    <item>
        <title>Datatable using responsive extension caching data causing issues</title>
        <link>https://next.datatables.net/forums/discussion/81810/datatable-using-responsive-extension-caching-data-causing-issues</link>
        <pubDate>Mon, 22 Jun 2026 17:19:16 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>ZKeim</dc:creator>
        <guid isPermaLink="false">81810@/forums/discussions</guid>
        <description><![CDATA[<p>I have a responsive datatable containing a bunch of fields in each row.    These rows can be removed or added based on user actions.  If I were to remove all the rows, and then later add new ones.  The "new" rows are still using the data from the originals instead of the new ones.  Below is my code.  I am essentially clearing all of the rows from the table, and inserting new ones after each change that affects which rows should be present.  I believe it's caching the data somewhere, which isn't desirable to my process.  Any ideas?</p>

<p>this.setScrewTable?.clear();<br />
/<em>this.setScrewTable?.rows.add(this.SetScrews.map((SS, idx) =&gt; $(SS.getSetScrewDetailHTML(idx)))).draw();</em>/<br />
this.setScrewTable?.rows.add(this.SetScrews.map((SS, idx) =&gt; [<br />
                '',<br />
                SS.RotationalLocation.buildFieldWrapHTML(),<br />
                SS.Thread.buildFieldWrapHTML(),<br />
                SS.SetScrewDiameter.buildFieldWrapHTML(),<br />
                SS.SetScrewLength.buildFieldWrapHTML(),<br />
                SS.DriveType.buildFieldWrapHTML(),<br />
                SS.LockingType.buildFieldWrapHTML(),<br />
                SS.TipType.buildFieldWrapHTML(),<br />
])).draw();</p>
]]>
        </description>
    </item>
    <item>
        <title>Security concern: uploadMany with Mjoin returning all records on filtered table</title>
        <link>https://next.datatables.net/forums/discussion/81805/security-concern-uploadmany-with-mjoin-returning-all-records-on-filtered-table</link>
        <pubDate>Wed, 17 Jun 2026 14:32:36 +0000</pubDate>
        <category>General</category>
        <dc:creator>maxmedia</dc:creator>
        <guid isPermaLink="false">81805@/forums/discussions</guid>
        <description><![CDATA[<p>I am successfully using uploadMany using Mjoin and reference files table. In some circumstances I am further filtering results returned to client, for example using GET parameter for record id. If that returns non-zero main records, everything is fine, in returned data you have only files associated with main records. But if filtering results in zero main records, you get all existing files on server.</p>

<p><strong>Example</strong><br />
Using modified code from this <a rel="nofollow" href="https://editor.datatables.net/examples/advanced/upload-many.html">https://editor.datatables.net/examples/advanced/upload-many.html</a> example:</p>

<pre><code>Editor::inst( $db, 'users' )
    -&gt;fields(
        Field::inst( 'users.id' ),
        Field::inst( 'users.first_name' ),
        Field::inst( 'users.last_name' ),
    )
    -&gt;join(
        Mjoin::inst( 'files' )
            -&gt;link( 'users.id', 'users_files.user_id' )
            -&gt;link( 'files.id', 'users_files.file_id' )
            -&gt;fields(
                Field::inst( 'id' )
                    -&gt;upload( Upload::inst( $_SERVER['DOCUMENT_ROOT'].'/uploads/__ID__.__EXTN__' )
                        -&gt;db( 'files', 'id', array(
                            'filename'    =&gt; Upload::DB_FILE_NAME,
                            'filesize'    =&gt; Upload::DB_FILE_SIZE,
                            'web_path'    =&gt; Upload::DB_WEB_PATH,
                            'system_path' =&gt; Upload::DB_SYSTEM_PATH
                        ) )
                        -&gt;validator( Validate::fileSize( 500000, 'Files must be smaller that 500K' ) )
                        -&gt;validator( Validate::fileExtensions( array( 'png', 'jpg', 'jpeg', 'gif' ), "Please upload an image" ) )
                    )
            )
    )
    -&gt;where( 'id', $_GET['userId'] )
    -&gt;process( $_POST )
    -&gt;json();
</code></pre>

<p>If there is no user with id requested in <code>$_GET['userId']</code>, you get zero records in <code>data</code> array, but all existing server files in <code>files</code> array.<br />
I guess this is not a bug, but it's how Mjoin works. Any ideas how to filter correctly?<br />
<strong>This might be huge security concern.</strong></p>
]]>
        </description>
    </item>
    <item>
        <title>AutoFill with inline editing only submitting partial row data</title>
        <link>https://next.datatables.net/forums/discussion/81808/autofill-with-inline-editing-only-submitting-partial-row-data</link>
        <pubDate>Thu, 18 Jun 2026 20:50:25 +0000</pubDate>
        <category>AutoFill</category>
        <dc:creator>bg7</dc:creator>
        <guid isPermaLink="false">81808@/forums/discussions</guid>
        <description><![CDATA[<p>We're using inline editing and KeyTables to edit data directly in the table cells.  The configuration is set up like this:</p>

<pre><code>    inline: {
      onBlur: 'submit',
      submit: 'allIfChanged',
    },
</code></pre>

<p>as we want the full row data submitted on every change.</p>

<p><a rel="nofollow" href="https://editor.datatables.net/reference/type/form-options#submit">https://editor.datatables.net/reference/type/form-options#submit</a></p>

<p>We're also using AutoFill.  However, with AutoFill it only seems to submit partial row data.  This means we have to merge it with that row's data before we submit it.  Is there a way to configure AutoFill to submit all the data for the row just like the inline setting does above?</p>

<p>Thanks.</p>

<p>Ben</p>
]]>
        </description>
    </item>
    <item>
        <title>About Quill plug-in</title>
        <link>https://next.datatables.net/forums/discussion/81807/about-quill-plug-in</link>
        <pubDate>Thu, 18 Jun 2026 11:35:25 +0000</pubDate>
        <category>Plug-ins</category>
        <dc:creator>IT CMS</dc:creator>
        <guid isPermaLink="false">81807@/forums/discussions</guid>
        <description><![CDATA[<p>Hi,<br />
I want to suggest a new comment for the Quill plug-in (can't post it my self : POST 403 Forbidden).<br />
Here the comment :<br />
If you want to render and save html, you should replace</p>

<pre><code>    get: function ( conf ) {
        return conf._quill.getText();
    },
  
    set: function ( conf, val ) {
        conf._quill.setText( val !== null ? val : '' );
    },
</code></pre>

<p>by</p>

<pre><code>    get: function ( conf ) {
        return conf._quill.root.innerHTML;
    },
 
    set: function ( conf, val ) {
        conf._quill.root.innerHTML = val !== null ? val : '';
    },
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>how to change passord</title>
        <link>https://next.datatables.net/forums/discussion/81804/how-to-change-passord</link>
        <pubDate>Wed, 17 Jun 2026 14:11:29 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>Mars Kao</dc:creator>
        <guid isPermaLink="false">81804@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>:<br />
<strong>Debugger code (debug.datatables.net)</strong>:<br />
<strong>Error messages shown</strong>:<br />
<strong>Description of problem</strong>:</p>
]]>
        </description>
    </item>
    <item>
        <title>Single Selection for ColumnControl List</title>
        <link>https://next.datatables.net/forums/discussion/81801/single-selection-for-columncontrol-list</link>
        <pubDate>Thu, 11 Jun 2026 20:40:46 +0000</pubDate>
        <category>Free community support</category>
        <dc:creator>Sirolli</dc:creator>
        <guid isPermaLink="false">81801@/forums/discussions</guid>
        <description><![CDATA[<p>Is there a way to only allow a single selection in the ColumnControl search list options?</p>
]]>
        </description>
    </item>
    <item>
        <title>can draw be cancelled in preDraw.dt handler?</title>
        <link>https://next.datatables.net/forums/discussion/81799/can-draw-be-cancelled-in-predraw-dt-handler</link>
        <pubDate>Tue, 09 Jun 2026 21:14:48 +0000</pubDate>
        <category>DataTables 2</category>
        <dc:creator>louking</dc:creator>
        <guid isPermaLink="false">81799@/forums/discussions</guid>
        <description><![CDATA[<p>I'm trying to resolve a race condition between an interval timed draw and some other user actions. Claude AI suggests returning false in the preDraw.dt handler, but for whatever reason I'm not finding that in your documentation. Will this work? (I'm using 1.10, but will also move to 2.x soon)</p>

<pre><code>    // preDraw.dt (camelCase) is the correct DataTables event name; returning false cancels the draw.
    _dt_table.on('preDraw.dt', function() {
        if (scan_mousedown) {
            console.log('preDraw.dt: draw blocked by scan-action-btn guard');
            return false;
        }
    });
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>One-to-many nested editors</title>
        <link>https://next.datatables.net/forums/discussion/81797/one-to-many-nested-editors</link>
        <pubDate>Thu, 04 Jun 2026 07:16:40 +0000</pubDate>
        <category>Editor</category>
        <dc:creator>IT CMS</dc:creator>
        <guid isPermaLink="false">81797@/forums/discussions</guid>
        <description><![CDATA[<p>Hi everyone,</p>

<p>Maybe I missed something, but I can't find a way to do it.</p>

<p>Here are more details on what I'm trying to do:</p>

<p>I have two tables:<br />
- Table "items"<br />
    - item_id<br />
    - item_name<br />
    - ...<br />
- Table "subitems":<br />
    - subitem_id<br />
    - item_id<br />
    - subitem_name<br />
    ...</p>

<p>I want to be able to perform CRUD operations on my subitems directly from the "items" editor.</p>

<p>My first idea was to use a nested editor like this: <a rel="nofollow" href="https://editor.datatables.net/examples/datatables/nested">https://editor.datatables.net/examples/datatables/nested</a> (or multiple version).<br />
However, that isn't the solution because the nested editor lists all the "subitems", and the user needs to select them.<br />
I only want to be able to CRUD "subitems" linked to the current "item" through the "subitems.item_id".</p>

<p>Is there a way to do that with a nested editor?</p>

<p>If not, how could I do it?</p>

<p>Thanks, Renaud</p>
]]>
        </description>
    </item>
    <item>
        <title>Checkbox disapears when using version 3.1.1+ of select with bootstrap5</title>
        <link>https://next.datatables.net/forums/discussion/81796/checkbox-disapears-when-using-version-3-1-1-of-select-with-bootstrap5</link>
        <pubDate>Sat, 30 May 2026 08:23:33 +0000</pubDate>
        <category>Select</category>
        <dc:creator>BjornHa</dc:creator>
        <guid isPermaLink="false">81796@/forums/discussions</guid>
        <description><![CDATA[<p>Upgraded select from 3.1.0 to 3.1.3 using bootstrap5 and</p>

<pre><code>    columnDefs: [
      {
        targets: 0,
        className: 'select-checkbox'
      }
    ],
</code></pre>

<p>stopped working.<br />
It seems that it happened in version 3.1.1.</p>

<p>Checkbox works with DataTables styling.</p>

<p>Test case:<br />
<a rel="nofollow" href="https://live.datatables.net/moyefodo/1/edit">https://live.datatables.net/moyefodo/1/edit</a></p>

<p>KR,<br />
Björn H</p>
]]>
        </description>
    </item>
    <item>
        <title>FixedHeader misalignment when Responsive control column is hidden/collapsed</title>
        <link>https://next.datatables.net/forums/discussion/81795/fixedheader-misalignment-when-responsive-control-column-is-hidden-collapsed</link>
        <pubDate>Fri, 29 May 2026 18:51:26 +0000</pubDate>
        <category>Bug reports</category>
        <dc:creator>glemos</dc:creator>
        <guid isPermaLink="false">81795@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>:</p>

<p><a rel="nofollow" href="https://jsfiddle.net/sancorUI/f85sgzwv/">https://jsfiddle.net/sancorUI/f85sgzwv/</a></p>

<p><strong>Debugger code (debug.datatables.net)</strong>:</p>

<p>-</p>

<p><strong>Error messages shown</strong>:</p>

<p>-</p>

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

<p>The fixedHeader extension miscalculates the width of all table headers when responsive is configured with a control column and that specific control column is hidden</p>

<p>I think the bug is in this function</p>

<pre><code>_api_registerPlural("columns().widths()", "column().width()", function() {
    var columns = this.columns(":visible").count();
    var row = $("&lt;tr&gt;").html("&lt;td&gt;" + Array(columns).join("&lt;/td&gt;&lt;td&gt;") + "&lt;/td&gt;");
    $(this.table().body()).append(row);
    var widths = row.children().map(function() {
        return $(this).outerWidth();
    });
    row.remove();
    return this.iterator("column", function(settings, column) {
        var visIdx = _fnColumnIndexToVisible(settings, column);
        return visIdx !== null ? widths[visIdx] : 0;
    }, 1);
});
</code></pre>

<p>widths has the array of width but this.iterator starts in column 1 (0 is the responsive control column but is hidden)</p>
]]>
        </description>
    </item>
   </channel>
</rss>
