<?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>DataTables — DataTables forums</title>
        <link>https://next.datatables.net/forums/</link>
        <pubDate>Wed, 22 Jul 2026 01:33:39 +0000</pubDate>
        <language>en</language>
            <description>DataTables — DataTables forums</description>
    <language>en</language>
    <atom:link href="https://next.datatables.net/forums/categories/datatables/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>Can I use the 'nn rows copied' popup in my own code?</title>
        <link>https://next.datatables.net/forums/discussion/81793/can-i-use-the-nn-rows-copied-popup-in-my-own-code</link>
        <pubDate>Wed, 27 May 2026 08:45:55 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>jladbury</dc:creator>
        <guid isPermaLink="false">81793@/forums/discussions</guid>
        <description><![CDATA[<p>The <code>copy</code> button puts up a message after copying to the clipboard. I have a specialised similar button in which I would like to display a similar popup. Is this possible?<br />
Here is my current button definiton:</p>

<pre><code>{
                            text: 'Clipboard (formatted)',
                            className: 'c9btnEditor',
                            attr: {
                                id: 'c9btnCopyFormatted'
                            },
                            action: async function (e, dt, node, config) {
                                let element = $('.dt-scroll')[0];
                                await BUtils.copyToClipboard(element);
                                **alert('Table copied to clipboard');**
                                $('.dt-button-collection').hide();
                                $('.dt-button-background').hide();
                            },
                            titleAttr: 'Copy formatted table to clipboard'
                        },
</code></pre>

<p>I want to replace the 'alert' with the DataTables popup.</p>
]]>
        </description>
    </item>
    <item>
        <title>Datatables 3 Download Builder</title>
        <link>https://next.datatables.net/forums/discussion/81746/datatables-3-download-builder</link>
        <pubDate>Wed, 15 Apr 2026 03:31:04 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>foxy_stoat</dc:creator>
        <guid isPermaLink="false">81746@/forums/discussions</guid>
        <description><![CDATA[<p>Hey<br />
Congratulations on Datatables 3 - looking forward to trying it out</p>

<p>Just a minor thing (apologies if its me) - on the beta download builder DateTime is labelled as 3.0.0  - which does not exist - but if you change this to 2.0.0 it works fine - (i got the version for 2.0.0 from your beta release RSS feed)</p>

<p>The concat and single (for datetime) download script strings dont work with 3 but do with 2</p>

<p>a second thing i noticed and this might be my environment due to multiple script / ad blockers but the SRIs are not generating - just get the "Standby - Calculating SRI hashes..."</p>

<p>Errors out on a 400 CORS error - does not effect anything for me and may not even be an issue</p>

<p>Cheers<br />
Pete</p>
]]>
        </description>
    </item>
    <item>
        <title>[datatables vue]v-show does not work in slot templates</title>
        <link>https://next.datatables.net/forums/discussion/81551/datatables-vue-v-show-does-not-work-in-slot-templates</link>
        <pubDate>Fri, 05 Dec 2025 10:37:49 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>serisu627</dc:creator>
        <guid isPermaLink="false">81551@/forums/discussions</guid>
        <description><![CDATA[<p>This issue has been mentioned in the project's GitHub issues section, and I would like to inquire about it here.</p>

<p><a rel="nofollow" href="https://github.com/DataTables/Vue/issues/32">https://github.com/DataTables/Vue/issues/32</a></p>

<p>i use Stackbltiz to create a running example</p>

<p><a rel="nofollow" href="https://stackblitz.com/edit/vitejs-vite-5madia3d?file=src%2Fcomponents%2Fdatatbles.vue">https://stackblitz.com/edit/vitejs-vite-5madia3d?file=src%2Fcomponents%2Fdatatbles.vue</a></p>

<p>Can you help me solve this problem?</p>

<p>thank you!!</p>
]]>
        </description>
    </item>
    <item>
        <title>rowReorder has started adding extra rows</title>
        <link>https://next.datatables.net/forums/discussion/81484/rowreorder-has-started-adding-extra-rows</link>
        <pubDate>Wed, 29 Oct 2025 12:39:44 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>cj1005</dc:creator>
        <guid isPermaLink="false">81484@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>: <a rel="nofollow" href="https://www.wd4g.com/WCGateway/rowReorder_Debug.wc">https://www.wd4g.com/WCGateway/rowReorder_Debug.wc</a><br />
<strong>Debugger code (debug.datatables.net)</strong>:  n\a<br />
<strong>Error messages shown</strong>: no error message<br />
<strong>Description of problem</strong>:<br />
rowReordering was working fine until recently, now each time we do a rowReorder (or just drag the row to the top of the dt) we get a new rows inserted above the actually data rows (but below the column headers), this new row contains the datatables_length elements, and the datatable_filter elements. Also, we get a new rows below the data rows, (but above the table footer), this row contains the datatable_info and datatable_pagnation elements. This happen for each rowReOrder, so it duplicates each time.</p>

<p>I have tried removing all recent global changes to do with datatables, but the issue remains.</p>

<p>So, I'm struggling to find the cause of this issue.<br />
If someone could please take a look and offer any advice that would be really appreciated.</p>

<p>Thanks, Chris</p>
]]>
        </description>
    </item>
    <item>
        <title>Vue template slots for pageLength and other datatable controls</title>
        <link>https://next.datatables.net/forums/discussion/81364/vue-template-slots-for-pagelength-and-other-datatable-controls</link>
        <pubDate>Mon, 15 Sep 2025 13:45:34 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>klymov.inekon</dc:creator>
        <guid isPermaLink="false">81364@/forums/discussions</guid>
        <description><![CDATA[<p>Hello. I have a question. I would like to be able to set slot for datatables controls. For example pageLength set something like this</p>

<pre><code>&lt;DataTable :columns="columns" ... &gt;
  &lt;template #page-lenght="{ props }"&gt;
    &lt;v-select :items="props.items" @change="props.change"&gt;
    &lt;/v-select&gt;
  &lt;/template&gt;
&lt;/DataTable&gt;
</code></pre>

<p>Maybe there are other options? Bootstrap styling for addons doesn't work for me in Vue. I don't know why, it just gives errors inside the library during initialization that some variables are undefined. I also wouldn't want to change classes manually via css, since it would be difficult for all elements and you would need to take into account many parameters such as the theme.</p>
]]>
        </description>
    </item>
    <item>
        <title>Inconsistent results looking up rows by unescaped and escaped rowId in DataTables 2.x but not 1.x</title>
        <link>https://next.datatables.net/forums/discussion/81238/inconsistent-results-looking-up-rows-by-unescaped-and-escaped-rowid-in-datatables-2-x-but-not-1-x</link>
        <pubDate>Thu, 07 Aug 2025 16:46:38 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>bg7</dc:creator>
        <guid isPermaLink="false">81238@/forums/discussions</guid>
        <description><![CDATA[<p>I'm using rowId to do lookups for rows.  I've been escaping the id before doing the lookup and that's been working well in DataTables 1.x.  Since migrating to DataTables 2.x I've been seeing inconsistent results doing those lookups and I'm pretty confused as to why.  I've followed the instructions here regarding what characters are ok.</p>

<p><a rel="nofollow" href="https://datatables.net/reference/option/rowId">https://datatables.net/reference/option/rowId</a></p>

<p>Since upgrading to DataTables 2.x I'm now seeing a variety of different results when trying to do lookups.  In some cases both the unescaped and escaped ids work.  This is for an update to an existing record so the count should return 1.<br />
<img src="https://datatables.net/forums/uploads/editor/nd/clxwkk1eft4s.png" alt="" title="" /></p>

<p>This is another update but this time the unescaped id works but the escaped id doesn't (count returns 0).  I can't tell why this would have problems the one above wouldn't (or vice versa).<br />
<img src="https://datatables.net/forums/uploads/editor/yg/jimksgvjc9gb.png" alt="" title="" /></p>

<p>In some cases the unescaped id throws an error (it's being interpreted as a css pseudo-selector) while the escaped version doesn't (it should return a count of 0 as in this case it's adding a new row).  Not sure why there'd be a css pseudo-selector error here but not for the two cases above (or vice-versa).<br />
<img src="https://datatables.net/forums/uploads/editor/by/75dupnvskhxy.png" alt="" title="" /></p>

<p>I've also caught the code in the debugger and pulled the first row out of a table, grabbed the id and used it to look that same row back up both unescaped and escaped.  In this case the unescaped version worked and the escaped version did not.<br />
<img src="https://datatables.net/forums/uploads/editor/0n/x4uav2fpwls5.png" alt="" title="" /></p>

<p>This is the escaping method I'm using:</p>

<pre><code>static escapeMultiKeyForCssIdLookup (multiKey) {
    return "#" + multiKey.replace(/[-[\]{}():*+?!.,%\\^$|#/\s]/g, '\\$&amp;');
};
</code></pre>

<p>I didn't run into this issue with DataTables 1.x and I'm not sure what might be different in DataTables 2.x.  This is the only ticket I could find that looked even vaguely related.</p>

<p><a rel="nofollow" href="https://datatables.net/forums/discussion/comment/230364">https://datatables.net/forums/discussion/comment/230364</a></p>

<p>I tried to reproduce this behavior in live.datatables.net but so far I've been unable to.  I'm using the latest version of DataTables (2.3.2).  I've also tried replacing the colons that are being used as delimiters in the ids with the | character but that didn't help.  The result of all of this is some (but not all) rows that should be getting added, updated and deleted are failing to do so and the data in the table is now partially out of sync with the rest of the system.  Any idea what might have changed or what I might be doing wrong?</p>

<p>Thanks.</p>

<p>Ben</p>
]]>
        </description>
    </item>
    <item>
        <title>Index column slows down table with large number of rows</title>
        <link>https://next.datatables.net/forums/discussion/81220/index-column-slows-down-table-with-large-number-of-rows</link>
        <pubDate>Thu, 31 Jul 2025 20:17:15 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>bg7</dc:creator>
        <guid isPermaLink="false">81220@/forums/discussions</guid>
        <description><![CDATA[<p>This example shows how to create an index column.</p>

<p><a rel="nofollow" href="https://datatables.net/examples/api/counter_columns.html">https://datatables.net/examples/api/counter_columns.html</a></p>

<p>If you increase the number of rows significantly the table starts to struggle.  Typing in the search box results in noticeable lag.  This example I created has 2k+ records.  I just duplicated the sample data over and over.  I tried to create 10k records but the live.datatables.net editor said it was too big to save.</p>

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

<p>We've got tables that have closer to 10k records and they're very slow to respond to searching and ordering as a result.  Is there a way to implement the index column so that it performs better?</p>

<p>We had an index column that worked well in DataTables 1.x but it was built differently.</p>

<pre><code>    dt.on('order search', () =&gt; {
        dt.column('index:name', { search: 'applied', order: 'applied' }).nodes().each(function (cell, i) {
            cell.innerHTML = i + 1;
        });
    }).columns.adjust().draw('full-hold');
</code></pre>

<p>That code doesn't work with DataTables 2.x.  Ordering, searching and paging results in the numbers in the index column being completely out of order or not showing up at all.</p>

<p>Thanks.</p>

<p>Ben</p>
]]>
        </description>
    </item>
    <item>
        <title>Datatables.js  can't be loaded in my VS 2022</title>
        <link>https://next.datatables.net/forums/discussion/81219/datatables-js-cant-be-loaded-in-my-vs-2022</link>
        <pubDate>Thu, 31 Jul 2025 15:49:58 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>lmnguyen</dc:creator>
        <guid isPermaLink="false">81219@/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>How to integrate reCAPTCHA to the ajax queries od DataTables</title>
        <link>https://next.datatables.net/forums/discussion/81119/how-to-integrate-recaptcha-to-the-ajax-queries-od-datatables</link>
        <pubDate>Mon, 07 Jul 2025 14:25:12 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>hardvlad</dc:creator>
        <guid isPermaLink="false">81119@/forums/discussions</guid>
        <description><![CDATA[<p>Hello!</p>

<p>We decides to protect all our APIs with google reCAPTCHA and we do not have problems with other APIs. But I cannot understand how to integrate reCAPTCHA token request before ajax query of DataTables and how to send reCAPTCHA token within ajax query.</p>

<p>Please help me! Your help will be much appreciated!</p>
]]>
        </description>
    </item>
    <item>
        <title>DataTable w/ Javascript sourced data in a child row</title>
        <link>https://next.datatables.net/forums/discussion/81022/datatable-w-javascript-sourced-data-in-a-child-row</link>
        <pubDate>Mon, 09 Jun 2025 19:07:41 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>transporter_ii</dc:creator>
        <guid isPermaLink="false">81022@/forums/discussions</guid>
        <description><![CDATA[<p>Digging through the forums, it looks like this is possible. I have a DataTable that's using Javascript sourced data. I'm looking at the child rows example: <a rel="nofollow" href="https://datatables.net/examples/api/row_details.html">https://datatables.net/examples/api/row_details.html</a></p>

<p>I'm needing another DataTable that's using Javascript sourced data to load as a child row. That link says that you can put whatever you want in the child row, including another DataTable.</p>

<p>I've done a lot of searching. Does anyone know of a link to an example of this setup? I haven't quite wrapped my head around how I need to do this yet. I also haven't found any examples that just jump out at me as The Way.</p>

<p>Thanks,</p>
]]>
        </description>
    </item>
    <item>
        <title>How to force SearchPanes columns to be displayed (and also after making them visible)</title>
        <link>https://next.datatables.net/forums/discussion/80836/how-to-force-searchpanes-columns-to-be-displayed-and-also-after-making-them-visible</link>
        <pubDate>Tue, 15 Apr 2025 17:39:04 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>slolo</dc:creator>
        <guid isPermaLink="false">80836@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>: <a rel="nofollow" href="https://live.datatables.net/xicirote/1/edit">https://live.datatables.net/xicirote/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>I would like to know if it is possible to force the display of all columns of the "searchPanes" component without having to set the "threshold" <strong>option: 1</strong></p>

<p>Especially since it is mentioned in the documentation that it is not recommended.</p>

<blockquote>
  <p>If you want to force specific panes to always be present, or to always be hidden, use the columns.searchPanes.show option. This is a much cleaner way of forcing panes to show/hide.</p>
</blockquote>

<p>I have seen this example <a rel="nofollow" href="https://datatables.net/reference/option/columns.searchPanes.show" title="https://datatables.net/reference/option/columns.searchPanes.show"></a><a rel="nofollow" href="https://datatables.net/reference/option/columns.searchPanes.show">https://datatables.net/reference/option/columns.searchPanes.show</a> and try to make it works but with <strong>targets: [-1]</strong> but without success.</p>

<p>My test case is almost functional, I'm sure there's not much missing for it to work.</p>

<hr />

<p>Also, when a column is invisible when generating the Datatable and then makes the column visible, this "new" column does not appear in the "searchBuilder" and "searchPanes" components.<br />
Is this normal?</p>

<hr />

<p>I know this post is a bit of a follow-up to the one below, but the question is slightly different, so I decided to open a new question.<br />
<a rel="nofollow" href="https://datatables.net/forums/discussion/80822/how-to-exclude-columns-for-searchbuilder" title="https://datatables.net/forums/discussion/80822/how-to-exclude-columns-for-searchbuilder"></a><a rel="nofollow" href="https://datatables.net/forums/discussion/80822/how-to-exclude-columns-for-searchbuilder">https://datatables.net/forums/discussion/80822/how-to-exclude-columns-for-searchbuilder</a></p>

<p>Thanks in advance for your help and have a nice day.</p>
]]>
        </description>
    </item>
    <item>
        <title>Modified severSide Mode</title>
        <link>https://next.datatables.net/forums/discussion/80827/modified-severside-mode</link>
        <pubDate>Sat, 12 Apr 2025 17:40:19 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>rf1234</dc:creator>
        <guid isPermaLink="false">80827@/forums/discussions</guid>
        <description><![CDATA[<p><a rel="nofollow" href="https://datatables.net/manual/server-side">https://datatables.net/manual/server-side</a></p>

<p>One of the issues with serverSide processing is that you can only search for database values and not for rendered values returned from a getFormatter.</p>

<p>Would it be possible to provide some kind of "hybrid" serverSide processing that searches for server side getFormatter values (if provided) instead of database values? I think this would still be pretty fast - depending on the server of course.</p>

<p>Just to clarify what I mean:<br />
I have a state code in some database field that nobody will ever search for. Everyone will want to search for the state name. Hence I render the state name in a getFormatter on the server. With serverSide the search doesn't work because serverSide is only looking at the database field content which does not contain the state name.</p>
]]>
        </description>
    </item>
    <item>
        <title>Non-jQuery version of DataTables. Is this gonna happen?</title>
        <link>https://next.datatables.net/forums/discussion/51702/non-jquery-version-of-datatables-is-this-gonna-happen</link>
        <pubDate>Sun, 26 Aug 2018 14:59:18 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>daytonoutar</dc:creator>
        <guid isPermaLink="false">51702@/forums/discussions</guid>
        <description><![CDATA[<p>Is there any initiative to have DataTables operate without jQuery as a dependency?</p>
]]>
        </description>
    </item>
    <item>
        <title>Excel Export, Built in styles documentation is incomplete</title>
        <link>https://next.datatables.net/forums/discussion/80778/excel-export-built-in-styles-documentation-is-incomplete</link>
        <pubDate>Sun, 30 Mar 2025 16:05:17 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>rf1234</dc:creator>
        <guid isPermaLink="false">80778@/forums/discussions</guid>
        <description><![CDATA[<p>I had the requirement to make Excel recognize exported date columns to be able to do ordering by date.<br />
I found out in some older forum thread that there is a built-in style for that and how to use it.</p>

<p>This is style 67 which is missing in the docs (the docs end with style 66).<br />
<a rel="nofollow" href="https://datatables.net/reference/button/excelHtml5">https://datatables.net/reference/button/excelHtml5</a></p>

<p>Could you update this please <a href="https://next.datatables.net/forums/profile/allan" rel="nofollow">@allan</a>. Many thanks!</p>

<p>I use this (probably outdated) version of buttons: <a rel="nofollow" href="https://cdn.datatables.net/buttons/2.2.2/js/buttons.html5.js">https://cdn.datatables.net/buttons/2.2.2/js/buttons.html5.js</a></p>

<p>This is style 67:</p>

<pre><code>'&lt;xf numFmtId="14" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/&gt;'
</code></pre>

<p>And this is the matching function in "_excelSpecials":</p>

<pre><code>{ match: /^[\d]{4}\-[\d]{2}\-[\d]{2}$/, style: 67, fmt: function (d) {return Math.round(25569 + (Date.parse(d) / (86400 * 1000)));}} //Date yyyy-mm-dd
</code></pre>

<p>And this is how I use it:<br />
As part of the "customize" method:</p>

<pre><code>var dateCols = ['C', 'F', 'I'];       
for ( i=0; i &lt; dateCols.length; i++ ) {
    $('row c[r^='+dateCols[i]+']', sheet).attr( 's', '67' );
}
</code></pre>

<p>As part of "exportOptions.format.body":</p>

<pre><code>if ( $.inArray(column, targetColsDates) &gt;= 0 ) {
    if (data &lt;= "---") {
        return "";
    }
    //if we have a timestamp field
    if ( ( data.substr(0, 10).split("-").length - 1 ) === 2 ) {
        return data;
    }
    return moment(data, 'L').format('YYYY-MM-DD');
}
</code></pre>

<p>So, I basically don't care whether the "_excelSpecials" function recognizes timestamps - because they are orderable anyway even if not recognized as dates. All the "real" dates are converted to "YYYY-MM-DD" and can be matched by "_excelSpecials".</p>
]]>
        </description>
    </item>
    <item>
        <title>column(0).cells() returns all cells in table, not just those in the first column</title>
        <link>https://next.datatables.net/forums/discussion/80762/column-0-cells-returns-all-cells-in-table-not-just-those-in-the-first-column</link>
        <pubDate>Tue, 25 Mar 2025 06:49:33 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>jladbury</dc:creator>
        <guid isPermaLink="false">80762@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>: <a rel="nofollow" href="https://live.datatables.net/vagenuta/2/edit">https://live.datatables.net/vagenuta/2/edit</a></p>

<p><strong>Description of problem</strong>: I want to update all the cells in the first column of a table. I select that column with <code>column(0)</code>, then chain <code>cells()</code>. In a 3 row, 6 column table as in my test case I would expect 3 cells to be returned - those in the first column. However, all table cells are returned.</p>

<p>Is this a bug, or have I misunderstood something?</p>

<p>A subsidiary question, in the light of the fact that internal row indices are not the same as the displayed row positions, is whether I should rely on column(0) always returning the first column in the table. (In my situation, columns are never reordered).</p>
]]>
        </description>
    </item>
    <item>
        <title>split button wrapper div doesn't get the class assigned</title>
        <link>https://next.datatables.net/forums/discussion/80704/split-button-wrapper-div-doesnt-get-the-class-assigned</link>
        <pubDate>Tue, 11 Mar 2025 12:10:00 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>rf1234</dc:creator>
        <guid isPermaLink="false">80704@/forums/discussions</guid>
        <description><![CDATA[<p>I have this split button:</p>

<pre><code>ctrTable.button().add( 3, {   
    extend: "editPSCData", className: "editorOnly", name: "editPSCVatDataButton",
    split: [
        {   extend: "editPSCData", name: "editPSCPreTaxDataButton",
            text: lang === 'de' ? 'VSt.-Check §15 UStG' : 'Input tax check §15 UStG'},
        {   extend: "editPSCData", name: "editPSCPreTaxCorrectionButton", className: "hidden",
            text: lang === 'de' ? 'VSt.-Korrektur §15a UStG' : 'Input tax adjustmt. §15a UStG'}
    ]
} );
</code></pre>

<p>When I ran this code:</p>

<pre><code>if ( ! isCtrEditor ) {
    ctrTable.buttons('.editorOnly').nodes().addClass('hidden'); 
}
</code></pre>

<p>which means, if the user is not entitled to edit a contract the "editorOnly" buttons should be hidden.</p>

<p>That didn't work for the split button. While the two buttons in the dropdown of the split button were hidden the wrapper div containing the first or "main" button was not hidden because the class "editorOnly" wasn't assigned to the wrapper div by Data Tables.</p>

<p>I added this workaround to make it work:</p>

<pre><code>$('div.dt-btn-split-wrapper &gt; button.editorOnly').parent().addClass("editorOnly");
</code></pre>

<p>I think this is a bug.</p>
]]>
        </description>
    </item>
    <item>
        <title>Wrong Editor version in download</title>
        <link>https://next.datatables.net/forums/discussion/80519/wrong-editor-version-in-download</link>
        <pubDate>Wed, 29 Jan 2025 18:59:38 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>a1730</dc:creator>
        <guid isPermaLink="false">80519@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Description of problem</strong>:<br />
I downloaded Editor with Datatables from the download page thinking I will be getting Editor v2.4.0 but the download has the older 2.3.2 version.</p>
]]>
        </description>
    </item>
    <item>
        <title>How to update a text field in inline editing?</title>
        <link>https://next.datatables.net/forums/discussion/80474/how-to-update-a-text-field-in-inline-editing</link>
        <pubDate>Tue, 21 Jan 2025 02:58:21 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>wonglik</dc:creator>
        <guid isPermaLink="false">80474@/forums/discussions</guid>
        <description><![CDATA[<p>I have a text field in a dataTable. When I try to update the text field using inline editing. I can't make any update in that text field because the return key just causing line return. But there is no problem with other data fields. Is there any way to fix?</p>
]]>
        </description>
    </item>
    <item>
        <title>Question that doesn't really belong here ...</title>
        <link>https://next.datatables.net/forums/discussion/80215/question-that-doesnt-really-belong-here</link>
        <pubDate>Thu, 14 Nov 2024 18:37:47 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>rf1234</dc:creator>
        <guid isPermaLink="false">80215@/forums/discussions</guid>
        <description><![CDATA[<p>I have a problem that doesn't really belong here. But I'm pretty desperate because somehow there doesn't seem to be a solution.<br />
My website <a rel="nofollow" href="https://www.lgfinance.eu/">https://www.lgfinance.eu/</a> is not accessible for me: DNS_PROBE_FINISHED_NXDOMAIN<br />
The DNS server can't find my website :-(<br />
This morning I found out that there is no problem accessing the site in the neighboring town in the same county. But I myself have been cut off for at least 14 hours.<br />
Nobody can help me! My ISP has no problem. It's based in Berlin. I have tested VPN with NordVPN: Does not work. The only thing that works is the TOR browser.<br />
Then of course I also called my internet provider etc. I walked through the city and logged into various WiFi networks. None of them worked with my site. Neither did my cell phone.<br />
I assume there's something wrong with the local infrastructure. But what? No one can help ... We'll have to wait and see. I can't live with that.<br />
Does anyone have any ideas for me? Many thanks in advance!</p>
]]>
        </description>
    </item>
    <item>
        <title>Datetime column not sorting correctly</title>
        <link>https://next.datatables.net/forums/discussion/80255/datetime-column-not-sorting-correctly</link>
        <pubDate>Thu, 21 Nov 2024 22:41:54 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>cj1005</dc:creator>
        <guid isPermaLink="false">80255@/forums/discussions</guid>
        <description><![CDATA[<p><strong>Link to test case</strong>:  <a rel="nofollow" href="https://www.wd4g.com/WCGateway/DTDemoCase1.wc">https://www.wd4g.com/WCGateway/DTDemoCase1.wc</a><br />
<strong>Debugger code (debug.datatables.net)</strong>: n\a<br />
<strong>Error messages shown</strong>:  n\a<br />
<strong>Description of problem</strong>:  See below</p>

<p>Hi, this is my first attempt at having a datetime column, so I'm probably missing something obvious, but I've searched the forums and implemented the suggestions I found, but it is not quite right.</p>

<p>The column searches correctly on the date but the times are not right, it should be the most recent at the top, this is the code I have added, so far:</p>

<p>Before the DT init section I added:</p>

<pre><code>    $.fn.dataTable.moment('DD/MM/YYYY'); \\ This already existed and is needed for simple date fields
    $.fn.dataTable.moment('DD/MM/YYYY HH:MM:SS A'); \\ This I added for the new datetime fields
</code></pre>

<p>In the column definition section I added:</p>

<pre><code>     { targets: [0], type: "moment-DD/MM/YYYY HH:MM:SS A"},
</code></pre>

<p>If someone could please take a look and advise that would be greatly appreciated.</p>

<p>Thanks, Chris</p>
]]>
        </description>
    </item>
    <item>
        <title>Unexpected cell-selector behavior</title>
        <link>https://next.datatables.net/forums/discussion/80242/unexpected-cell-selector-behavior</link>
        <pubDate>Tue, 19 Nov 2024 19:42:09 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>kthorngren</dc:creator>
        <guid isPermaLink="false">80242@/forums/discussions</guid>
        <description><![CDATA[<p>When using the form of cell( <a rel="nofollow" href="//datatables.net/reference/type/row-selector"><code title="DataTables parameter type">row-selector</code></a>, <a rel="nofollow" href="//datatables.net/reference/type/cell-selector"><code title="DataTables parameter type">cell-selector</code></a> ) with a classname I expected the <a rel="nofollow" href="//datatables.net/reference/api/cell()"><code title="DataTables API method">cell()</code></a> API to search the <a rel="nofollow" href="//datatables.net/reference/type/row-selector"><code title="DataTables parameter type">row-selector</code></a> results for the class.  However it seems to only find the class if its defined in the <code title="HTML tag">thead</code>.  Test Case:<br />
<a rel="nofollow" href="https://live.datatables.net/kosukanu/1/edit">https://live.datatables.net/kosukanu/1/edit</a></p>

<pre><code>console.log( 'Class name defined in thead th', table.cells( 0, '.name').count() );
console.log( table.cells( 0, '.name').data() );
console.log( 'Class position defined in tbody td', table.cells( 0, '.position').count() );
console.log( table.cells( 0, '.position').data() );
</code></pre>

<pre><code>        &lt;thead&gt;
          &lt;tr&gt;
            &lt;th class="name"&gt;Name&lt;/th&gt;
            &lt;th&gt;Position&lt;/th&gt;
            &lt;th&gt;Office&lt;/th&gt;
            &lt;th&gt;Age&lt;/th&gt;
            &lt;th&gt;Start date&lt;/th&gt;
            &lt;th&gt;Salary&lt;/th&gt;
          &lt;/tr&gt;
        &lt;/thead&gt;
....
          &lt;tr&gt;
            &lt;td&gt;Tiger Nixon&lt;/td&gt;
            &lt;td class="position"&gt;System Architect&lt;/td&gt;
            &lt;td&gt;Edinburgh&lt;/td&gt;
            &lt;td&gt;61&lt;/td&gt;
            &lt;td&gt;2011/04/25&lt;/td&gt;
            &lt;td&gt;$3,120&lt;/td&gt;
          &lt;/tr&gt;
</code></pre>

<p>I expected the cell with class <code>position</code> to be found not the cell where the <code title="HTML tag">th</code> has the class <code>name</code>.</p>

<p>The [jQuery selector` docs state this:</p>

<blockquote>
  <p>jQuery instance can be given as a cell selector, with any nodes which are selected by jQuery and match those available in the table's <code title="HTML tag">tbody</code> selected.</p>
</blockquote>

<p>Kevin</p>
]]>
        </description>
    </item>
    <item>
        <title>Code Scanning Alerts</title>
        <link>https://next.datatables.net/forums/discussion/78636/code-scanning-alerts</link>
        <pubDate>Mon, 01 Apr 2024 14:31:10 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>krutovdl</dc:creator>
        <guid isPermaLink="false">78636@/forums/discussions</guid>
        <description><![CDATA[<p>Before I say anything, I would like to make it clear that I agree 100% that all the findings I am showing are indeed false positives. You will not get an argument from me on that. However, the fact that the multi-billion-dollar company my team works for has become very concerned about security and the company does get the final say which library packages are permitted inside its applications. On Friday, my team was told to completely uninstall datatables off all our applications and yes, all our applications are now broken. Also notice that “replace, and match” functionalities are flagged culprits. So, I am submitting this request to see if datatables can address these concerns very soon. Here are some of the the issues:</p>

<p><em>1. Incomplete multi-character sanitization</em><br />
wwwroot/lib/datatables/dist/js/jquery.dataTables.js:1515 &lt;-- line number</p>

<pre><code>return d.replace( _re_html, '' );
</code></pre>

<p>This string may still contain , which may cause an HTML element injection vulnerability.</p>

<p>Please see “REPLACE COMMENTS” section from scanning.</p>

<p><em>2. Incomplete multi-character sanitization</em><br />
wwwroot/lib/datatables/dist/js/jquery.dataTables.js:5817 &lt;-- line number</p>

<pre><code>    s = s.replace( __re_html_remove, '' );
</code></pre>

<p>Please see “REPLACE COMMENTS” section from scanning.</p>

<p><em>3. Incomplete string escaping or encoding</em><br />
wwwroot/lib/datatables/dist/js/jquery.dataTables.js:4470 &lt;-- line number</p>

<pre><code>    return word.replace('"', '');
</code></pre>

<p>Please see “REPLACE COMMENTS” section from scanning.</p>

<p><em>4. Polynomial regular expression used on uncontrolled data</em><br />
wwwroot/lib/datatables.net/js/dataTables.js:4479  &lt;-- line number</p>

<pre><code>var parts = search.match( /!?["\u201C][^"\u201D]+["\u201D]|[^ ]+/g ) || [''];
</code></pre>

<p>Please see “MATCH COMMENTS” section from scanning.</p>

<p><strong>REPLACE COMMENTS</strong><br />
Sanitizing untrusted input is a common technique for preventing injection attacks such as SQL injection or cross-site scripting. Usually, this is done by escaping meta-characters such as quotes in a domain-specific way so that they are treated as normal characters.</p>

<p>However, directly using the string replace method to perform escaping is notoriously error-prone. Common mistakes include only replacing the first occurrence of a meta-character, or backslash-escaping various meta-characters but not the backslash itself.</p>

<p>In the former case, later meta-characters are left undisturbed and can be used to subvert the sanitization. In the latter case, preceding a meta-character with a backslash leads to the backslash being escaped, but the meta-character appearing un-escaped, which again makes the sanitization ineffective.</p>

<p>Even if the escaped string is not used in a security-critical context, incomplete escaping may still have undesirable effects, such as badly rendered or confusing output.</p>

<p><strong>Recommendation</strong><br />
Use a (well-tested) sanitization library if at all possible. These libraries are much more likely to handle corner cases correctly than a custom implementation.</p>

<p>An even safer alternative is to design the application so that sanitization is not needed, for instance by using prepared statements for SQL queries.</p>

<p>Otherwise, make sure to use a regular expression with the g flag to ensure that all occurrences are replaced, and remember to escape backslashes if applicable.</p>

<p>Note, however, that this is generally not sufficient for replacing multi-character strings: the String.prototype.replace method only performs one pass over the input string, and will not replace further instances of the string that result from earlier replacements.</p>

<p>For example, consider the code snippet s.replace(/\/&#46;&#46;\//g, ""), which attempts to strip out all occurences of /../ from s. This will not work as expected: for the string /./.././, for example, it will remove the single occurrence of /../ in the middle, but the remainder of the string then becomes /../, which is another instance of the substring we were trying to remove.</p>

<p><strong>MATCH COMMENTS</strong><br />
Some regular expressions take a long time to match certain input strings to the point where the time it takes to match a string of length n is proportional to nk or even 2n. Such regular expressions can negatively affect performance, or even allow a malicious user to perform a Denial of Service ("DoS") attack by crafting an expensive input string for the regular expression to match.</p>

<p>The regular expression engines provided by many popular JavaScript platforms use backtracking non-deterministic finite automata to implement regular expression matching. While this approach is space-efficient and allows supporting advanced features like capture groups, it is not time-efficient in general. The worst-case time complexity of such an automaton can be polynomial or even exponential, meaning that for strings of a certain shape, increasing the input length by ten characters may make the automaton about 1000 times slower.</p>

<p>Typically, a regular expression is affected by this problem if it contains a repetition of the form r* or r+ where the sub-expression r is ambiguous in the sense that it can match some string in multiple ways. More information about the precise circumstances can be found in the references.</p>

<p><strong>Recommendation</strong><br />
Modify the regular expression to remove the ambiguity, or ensure that the strings matched with the regular expression are short enough that the time-complexity does not matter.</p>
]]>
        </description>
    </item>
    <item>
        <title>Error: [vite]: Rollup failed to resolve import "datatables.net/js/jquery.dataTables"</title>
        <link>https://next.datatables.net/forums/discussion/79780/error-vite-rollup-failed-to-resolve-import-datatables-net-js-jquery-datatables</link>
        <pubDate>Wed, 04 Sep 2024 05:06:59 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>cmplus</dc:creator>
        <guid isPermaLink="false">79780@/forums/discussions</guid>
        <description><![CDATA[<p>[vite]: Rollup failed to resolve import "datatables.net/js/jquery.dataTables" :</p>

<p>good morning, I use laravel 10 with datatables, my app.js is this, everything was working now but when I execute the npm run build command I receive this error message and the tables present in laravel disappear, what should I do to solve it?</p>

<p>app.js</p>

<pre><code>import * as bootstrap from 'bootstrap';
window.bootstrap = bootstrap;
import 'laravel-datatables-vite';

import jQuery from 'jquery';
window.$ = jQuery;

import moment from "moment";
window.moment = moment();

import Editor from '@datatables.net/editor-dt';
import 'datatables.net-editor-bs5/js/editor.bootstrap5';
import 'datatables.net-bs5/js/dataTables.bootstrap5';
import 'datatables.net-select-bs5/js/select.bootstrap5';
import 'datatables.net-searchpanes/js/dataTables.searchPanes';
import 'datatables.net-searchpanes-bs5/js/searchPanes.bootstrap5';
import 'datatables.net-responsive-bs5/js/responsive.bootstrap5';
import 'datatables.net-buttons-bs5/js/buttons.bootstrap5';
import 'jquery/dist/jquery';
import 'datatables.net/js/jquery.dataTables';
import 'datatables.net-select/js/dataTables.select';
import 'datatables.net-rowgroup-bs5/js/rowGroup.bootstrap5.js';
import 'bootstrap/dist/js/bootstrap.bundle';
Editor(window, $);
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>TypeError: Cannot read properties of undefined (reading 'buttons')</title>
        <link>https://next.datatables.net/forums/discussion/80218/typeerror-cannot-read-properties-of-undefined-reading-buttons</link>
        <pubDate>Fri, 15 Nov 2024 06:00:48 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>cmplus</dc:creator>
        <guid isPermaLink="false">80218@/forums/discussions</guid>
        <description><![CDATA[<p>I chose the npm installation, I run the commands and after I insert the list in vite.config.js I receive this error</p>

<pre><code>npm install --save jquery
npm install --save jszip
npm install --save pdfmake
npm install --save datatables.net-bs5
npm install --save @datatables.net/editor-bs5
npm install --save datatables.net-autofill-bs5
npm install --save datatables.net-buttons-bs5
npm install --save datatables.net-colreorder-bs5
npm install --save datatables.net-datetime
npm install --save datatables.net-fixedcolumns-bs5
npm install --save datatables.net-fixedheader-bs5
npm install --save datatables.net-keytable-bs5
npm install --save datatables.net-responsive-bs5
npm install --save datatables.net-rowgroup-bs5
npm install --save datatables.net-rowreorder-bs5
npm install --save datatables.net-scroller-bs5
npm install --save datatables.net-searchbuilder-bs5
npm install --save datatables.net-searchpanes-bs5
npm install --save datatables.net-select-bs5
npm install --save datatables.net-staterestore-bs5
</code></pre>

<pre><code>error during build:
TypeError: Cannot read properties of undefined (reading 'buttons')
    at file:///home/......../node_modules/datatables.net-buttons/js/buttons.colVis.mjs:14:24
    at ModuleJob.run (node:internal/modules/esm/module_job:198:25)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:409:24)
    at async loadConfigFromBundledFile (file:///home/......../node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:66691:15)
    at async loadConfigFromFile (file:///home/......../node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:66532:24)
    at async resolveConfig (file:///home/......../node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:66140:24)
    at async build (file:///home/......../node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:65237:18)
    at async CAC.&lt;anonymous&gt; (file:///home/......../node_modules/vite/dist/node/cli.js:828:5)
</code></pre>

<pre><code>import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import jQuery from "jquery";
import jszip from 'jszip';
import pdfmake from 'pdfmake';
import DataTable from 'datatables.net-bs5';
import Editor from '@datatables.net/editor-bs5';
import 'datatables.net-autofill-bs5';
import 'datatables.net-buttons-bs5';
import 'datatables.net-buttons/js/buttons.colVis.mjs';
import 'datatables.net-buttons/js/buttons.html5.mjs';
import 'datatables.net-buttons/js/buttons.print.mjs';
import 'datatables.net-colreorder-bs5';
import DateTime from 'datatables.net-datetime';
import 'datatables.net-fixedcolumns-bs5';
import 'datatables.net-fixedheader-bs5';
import 'datatables.net-keytable-bs5';
import 'datatables.net-responsive-bs5';
import 'datatables.net-rowgroup-bs5';
import 'datatables.net-rowreorder-bs5';
import 'datatables.net-scroller-bs5';
import 'datatables.net-searchbuilder-bs5';
import 'datatables.net-searchpanes-bs5';
import 'datatables.net-select-bs5';
import 'datatables.net-staterestore-bs5';

export default defineConfig({
    plugins: [
        laravel({
            input: [
                'resources/sass/app.scss',
                'resources/js/app.js',
            ],
            refresh: true,
        }),
    ],
    resolve: {
        alias: {
            '$': 'jQuery'
        },
    },
});
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>how do i do a muliple select and pass those rows to another page in my webapp</title>
        <link>https://next.datatables.net/forums/discussion/79897/how-do-i-do-a-muliple-select-and-pass-those-rows-to-another-page-in-my-webapp</link>
        <pubDate>Mon, 23 Sep 2024 16:16:58 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>eharding</dc:creator>
        <guid isPermaLink="false">79897@/forums/discussions</guid>
        <description><![CDATA[<p>i have a datatable i want to select mulple rows then password those rows (index) to another page/function.  how do i do that?</p>
]]>
        </description>
    </item>
    <item>
        <title>Editor issues after recent upgrade.</title>
        <link>https://next.datatables.net/forums/discussion/79777/editor-issues-after-recent-upgrade</link>
        <pubDate>Tue, 03 Sep 2024 18:40:42 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>mikduc</dc:creator>
        <guid isPermaLink="false">79777@/forums/discussions</guid>
        <description><![CDATA[<p>We recently upgraded from DataTables 1.10.19 to DataTables 2.0.7 as well as DataTables Editor v1.6.5 to DataTables Editor v2.3.2.   Since the upgrade I am experiencing issues with updating a check box that was working prior to the upgrade.  Along with this we also upgraded from PHP 7.4 to 8.0.</p>

<p>The error is: Uncaught Unable to automatically determine field from source. Please specify the field name. For more information, please refer to <a rel="nofollow" href="https://datatables.net/tn/11.">https://datatables.net/tn/11.</a>  I have reviewed my script, and the field appears to be fully defined.</p>

<p>Any ideas?  Let me know if I need to send any code snippets.</p>

<p>Thanks,</p>
]]>
        </description>
    </item>
    <item>
        <title>Searches by geolocation</title>
        <link>https://next.datatables.net/forums/discussion/79644/searches-by-geolocation</link>
        <pubDate>Sun, 11 Aug 2024 19:09:58 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>Gstg</dc:creator>
        <guid isPermaLink="false">79644@/forums/discussions</guid>
        <description><![CDATA[<p>We are utilizing Datatables quite extensively.  We have been tasked with doing geolocation searches for customers in a 50 mile radius. I was wondering if anyone had done anything like that before? We could store Latitude and Longitude, and potentially utilize an algorithm that determines if one location is within the radius of another, but is there anyway that it could be done in a fast search? I am fairly well versed in PHP more so than Java, if that makes a difference.</p>

<p>Thanks ahead of time for your time</p>
]]>
        </description>
    </item>
    <item>
        <title>JS Exception after removing a row using Editor</title>
        <link>https://next.datatables.net/forums/discussion/79592/js-exception-after-removing-a-row-using-editor</link>
        <pubDate>Sun, 04 Aug 2024 22:43:06 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>Frkn</dc:creator>
        <guid isPermaLink="false">79592@/forums/discussions</guid>
        <description><![CDATA[<p>Hey! I used datatables + editor multiple times in different projects and i got this strange exception for the first time.</p>

<p>When deleting the row, the ajax request is sent to the server with a successful response and the row is removed from the server. But now when the datatable is updating, it seemingly has problems with the removed row. It happens all the time and it doesnt matter which row i'm deleting.</p>

<p>Exception: Uncaught TypeError: ctx[0].aoData[this[0]] is null (dataTables.mjs:8140:2)</p>

<p>Code snippet from dataTables.mjs 8135 to 8143:</p>

<pre><code>_api_register( _child_obj+'.isShown()', function () {
    var ctx = this.context;

    if ( ctx.length &amp;&amp; this.length ) {
        // _detailsShown as false or undefined will fall through to return false
        return ctx[0].aoData[ this[0] ]._detailsShow || false; // &lt;-- exception happens here
    }
    return false;
} );
</code></pre>

<p>At this point of the exception, <code>ctx[0].aoData[ this[0] ]</code> is null because it is the removed row. When inspecting <code>ctx[0].aoData</code>, i see all the rows as objects with data in them except the index of the removed row, which is null.</p>

<p>The comment above the exception line also mentions that "it should fall through to return false if _detailsShow is undefined". Maybe it was intended that the row object can be undefined/null at this point but it's not handled correctly?</p>
]]>
        </description>
    </item>
    <item>
        <title>We are experiencing issues with Editor issues (v1.7.4) when migrating to PHP8 from PHP 7.4.</title>
        <link>https://next.datatables.net/forums/discussion/79400/we-are-experiencing-issues-with-editor-issues-v1-7-4-when-migrating-to-php8-from-php-7-4</link>
        <pubDate>Mon, 15 Jul 2024 13:52:27 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>mikduc</dc:creator>
        <guid isPermaLink="false">79400@/forums/discussions</guid>
        <description><![CDATA[<p>Errors generated from server-side script.</p>

<p>Deprecated: Creation of dynamic property DataTables\Database::$query_driver is deprecated in /www/seidenphp/htdocs/DataTables_Editor/php/Database/Database.php on line 61.</p>

<p>Deprecated: Creation of dynamic property DataTables\Database\DriverDb2Query::$_dbHost is deprecated in /www/seidenphp/htdocs/DataTables_Editor/php/Database/Query.php on line 55.</p>

<p>Deprecated: trim(): Passing null to parameter <a rel="nofollow" href="https://next.datatables.net/forums/search?Search=%231&amp;Mode=like"></a><a rel="nofollow" href="https://next.datatables.net/forums/search?Search=%231&amp;Mode=like">#1</a> ($string) of type string is deprecated in /www/seidenphp/htdocs/researchdevelopment/formulamanagement/ssp_SampleFormulaLookup_Sandbox.php on line 69.</p>

<p>Deprecated: trim(): Passing null to parameter <a rel="nofollow" href="https://next.datatables.net/forums/search?Search=%231&amp;Mode=like"></a><a rel="nofollow" href="https://next.datatables.net/forums/search?Search=%231&amp;Mode=like">#1</a> ($string) of type string is deprecated in /www/seidenphp/htdocs/DataTables_Editor/php/Editor/Format.php on line 229.</p>

<p>Let me know if I need to provide additional information.</p>
]]>
        </description>
    </item>
    <item>
        <title>Has the sorting functions changed between version 1.x and 2.x?</title>
        <link>https://next.datatables.net/forums/discussion/79297/has-the-sorting-functions-changed-between-version-1-x-and-2-x</link>
        <pubDate>Fri, 28 Jun 2024 03:09:07 +0000</pubDate>
        <category>DataTables</category>
        <dc:creator>minifiredragon</dc:creator>
        <guid isPermaLink="false">79297@/forums/discussions</guid>
        <description><![CDATA[<p>I have been using v1.10.20 for a while and am building new tables so I have started using v2.0.8.  I essentially copied my existing table and changed the needed column load, so nothing has changed in the options the table is built.</p>

<p>However, the sorting of columns does not perform the same between versions and I am not sure if there is a new setting I am missing.  in version 1.10 I could sort column 1, then columns 2.  And the result would be column 1 keep its applied sorting, and column 2 would add to the sorting so to speak.</p>

<p>Now with v2, it seems to remove the previous sort and apply the new sort to the column.</p>

<p>I am not sure how I get the old form of sorting re applied to the new version.</p>

<p>More clearer example:</p>

<pre><code>Initial column load
Column 1        Column 2
7                    1
9                    0
1                    0
5.5                  1

v1.10 sorting
Sort Column 1

Column 1       Column 2
1                  0
5.5                1
7                  1
9                  0

Sort Column 2

Column 1      Column2
1                   0
9                   0
5.5                 1
7                   1


V2 sorting
Sort Column 1

Column 1       Column 2
1                 0
5.5               1
7                 1
9                 0

Sort Column 2

Column 1        Column 2
9                    0
1                    0
7                    1
5.5                  1
</code></pre>
]]>
        </description>
    </item>
   </channel>
</rss>
