{"id":6501,"date":"2019-08-15T12:02:49","date_gmt":"2019-08-15T09:02:49","guid":{"rendered":"https:\/\/dhtmlx.com\/blog\/?p=6501"},"modified":"2023-05-03T14:24:54","modified_gmt":"2023-05-03T11:24:54","slug":"dhtmlxsuite-6-1-minor-update-multiselection-enhanced-drag-n-drop-editing-features","status":"publish","type":"post","link":"https:\/\/dhtmlx.com\/blog\/dhtmlxsuite-6-1-minor-update-multiselection-enhanced-drag-n-drop-editing-features\/","title":{"rendered":"dhtmlxSuite 6.1 Minor Update: Multiselection, Enhanced Drag-n-Drop and Editing Features"},"content":{"rendered":"<p>It&#8217;s been a month and a half since the large-scale update of the whole <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSuite\/\" rel=\"noopener\" target=\"_blank\">JavaScript widget library<\/a> DHTMLX Suite v6.0. We&#8217;ve been gathering your feedback, prioritizing features for future releases, and working hard to deliver the next update 6.1. And now our minor release brings out editing for dhtmlxGrid and dhtmlxTree, multiselection and drag-n-drop of multiple items and inline editing in dhtmlxList and dhtmlxDataView as well as a range of other essential features for building top-notch user interfaces.<\/p>\n<h5>dhtmlxGrid New Features and Updates<\/h5>\n<h6>Data Editing<\/h6>\n<p>V6.1 provides new editing capabilities for our <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxGrid\/\" rel=\"noopener\" target=\"_blank\">JavaScript Data Grid<\/a>. Now end users can easily edit any cells they need on the fly. When they double click a cell, an appropriate editor appears: a simple input field, selection box or datepicker:<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/08\/Grid-editing.gif\" alt=\"DHTMLX Grid editing\" width=\"904\" height=\"564\" class=\"aligncenter size-full wp-image-6504\" \/><a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/grid\/02_configuration\/13_editing.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<p>As you can also see from the recording above, there appeared a new column type &#8211; <strong>date<\/strong>, which enables end users to choose a date on a calendar in the column &#8220;Start date&#8221;. <\/p>\n<p>In order to achieve that and make an entire Grid editable, developers need to specify the <strong>editing:true<\/strong> property in the Grid configuration:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">var<\/span> grid <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> dhx.<span class=\"me1\">Grid<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;grid_container&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; columns<span class=\"sy0\">:<\/span> <span class=\"br0\">&#91;<\/span><span class=\"co1\">\/\/ columns config],<\/span><br \/>\n&nbsp; &nbsp; data<span class=\"sy0\">:<\/span> data<span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp;editing<span class=\"sy0\">:<\/span> <span class=\"kw2\">true<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>However, you can limit a choice of columns that can be edited by end users if you set the <strong>editing:true<\/strong> property in the configuration of specific columns. For instance, here is how we can make only the first column editable:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">var<\/span> grid <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> dhx.<span class=\"me1\">Grid<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;grid&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; columns<span class=\"sy0\">:<\/span> <span class=\"br0\">&#91;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#123;<\/span> <br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;width<span class=\"sy0\">:<\/span><span class=\"nu0\">150<\/span><span class=\"sy0\">,<\/span>id<span class=\"sy0\">:<\/span><span class=\"st0\">&quot;project&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; editing<span class=\"sy0\">:<\/span><span class=\"kw2\">true<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; header<span class=\"sy0\">:<\/span> <span class=\"br0\">&#91;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#123;<\/span>text<span class=\"sy0\">:<\/span><span class=\"st0\">&quot;Project&quot;<\/span><span class=\"br0\">&#125;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span>content<span class=\"sy0\">:<\/span><span class=\"st0\">&quot;selectFilter&quot;<\/span><span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"br0\">&#93;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#123;<\/span> width<span class=\"sy0\">:<\/span><span class=\"nu0\">150<\/span><span class=\"sy0\">,<\/span> id<span class=\"sy0\">:<\/span><span class=\"st0\">&quot;owner&quot;<\/span><span class=\"sy0\">,<\/span> header<span class=\"sy0\">:<\/span> <span class=\"br0\">&#91;<\/span><span class=\"br0\">&#123;<\/span>text<span class=\"sy0\">:<\/span><span class=\"st0\">&quot;Owner&quot;<\/span><span class=\"br0\">&#125;<\/span><span class=\"sy0\">,<\/span><span class=\"br0\">&#123;<\/span>content<span class=\"sy0\">:<\/span><span class=\"st0\">&quot;inputFilter&quot;<\/span><span class=\"br0\">&#125;<\/span><span class=\"br0\">&#93;<\/span><span class=\"br0\">&#125;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#123;<\/span> width<span class=\"sy0\">:<\/span><span class=\"nu0\">150<\/span><span class=\"sy0\">,<\/span> id<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;hours&quot;<\/span><span class=\"sy0\">,<\/span> header<span class=\"sy0\">:<\/span> <span class=\"br0\">&#91;<\/span><span class=\"br0\">&#123;<\/span>text<span class=\"sy0\">:<\/span><span class=\"st0\">&quot;Hours&quot;<\/span><span class=\"br0\">&#125;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span>content<span class=\"sy0\">:<\/span><span class=\"st0\">&quot;inputFilter&quot;<\/span><span class=\"br0\">&#125;<\/span><span class=\"br0\">&#93;<\/span><span class=\"br0\">&#125;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">\/\/ more columns<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#93;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; data<span class=\"sy0\">:<\/span> data<br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p><a href=\"https:\/\/docs.dhtmlx.com\/suite\/grid\/configuration\/\" rel=\"noopener\" target=\"_blank\">Check the documentation ><\/a><\/p>\n<p>By default, columns have an <strong>input<\/strong> type of the editor for working with plain text. If a column has a type <strong>&#8220;date&#8221;<\/strong>, then a datepicker editor will be used. Developers can also set a specific date format for editing:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"br0\">&#123;<\/span> <br \/>\n&nbsp; &nbsp; <span class=\"co1\">\/\/ if the type:&quot;date&quot; config is set in the column config, <\/span><br \/>\n&nbsp; &nbsp; <span class=\"co1\">\/\/ there's no need to specify the type of the editor<\/span><br \/>\n&nbsp; &nbsp; width<span class=\"sy0\">:<\/span> <span class=\"nu0\">150<\/span><span class=\"sy0\">,<\/span> id<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;start_date&quot;<\/span><span class=\"sy0\">,<\/span> <br \/>\n&nbsp; &nbsp; header<span class=\"sy0\">:<\/span> <span class=\"br0\">&#91;<\/span><span class=\"br0\">&#123;<\/span> text<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;Calendar&quot;<\/span><span class=\"sy0\">,<\/span> colspan<span class=\"sy0\">:<\/span> <span class=\"nu0\">2<\/span> <span class=\"br0\">&#125;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span> text<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;Start date&quot;<\/span> <span class=\"br0\">&#125;<\/span><span class=\"br0\">&#93;<\/span><span class=\"sy0\">,<\/span> <br \/>\n&nbsp; &nbsp;type<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;date&quot;<\/span><span class=\"sy0\">,<\/span> dateFormat<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;%d\/%m\/%Y&quot;<\/span> <br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/div>\n<p>In order to equip a cell with a selection box with options to choose from, you&#8217;ll need to specify the <strong>select<\/strong> editor type and and add the desired options for selection:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; width<span class=\"sy0\">:<\/span> <span class=\"nu0\">150<\/span><span class=\"sy0\">,<\/span> id<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;status&quot;<\/span><span class=\"sy0\">,<\/span> header<span class=\"sy0\">:<\/span> <span class=\"br0\">&#91;<\/span><span class=\"br0\">&#123;<\/span>text<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;Status&quot;<\/span><span class=\"br0\">&#125;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span>content<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;selectFilter&quot;<\/span><span class=\"br0\">&#125;<\/span><span class=\"br0\">&#93;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp;editorType<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;select&quot;<\/span><span class=\"sy0\">,<\/span> options<span class=\"sy0\">:<\/span> <span class=\"br0\">&#91;<\/span><span class=\"st0\">&quot;Done&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"st0\">&quot;In Progress&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"st0\">&quot;Not Started&quot;<\/span><span class=\"br0\">&#93;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/div>\n<p><a href=\"https:\/\/docs.dhtmlx.com\/suite\/grid\/configuration\/\" rel=\"noopener\" target=\"_blank\">Check the documentation ><\/a><\/p>\n<p>Additionally, now developers have a straightforward way to edit any Grid cell using the <strong>edit<\/strong> method. Here is how we can edit the first cell of the &#8220;project&#8221; column with just one line of code:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\">grid.<span class=\"me1\">edit<\/span><span class=\"br0\">&#40;<\/span>grid.<span class=\"me1\">data<\/span>.<span class=\"me1\">getId<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><span class=\"st0\">&quot;project&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p><a href=\"https:\/\/docs.dhtmlx.com\/suite\/grid\/usage\/\" rel=\"noopener\" target=\"_blank\">Check the documentation ><\/a><\/p>\n<h6>Vertical Spans in Header<\/h6>\n<p>Besides, now our Grid allows creating not only horizontal but also vertical spans in the header:<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/08\/Vertical-Header-Spans.png\" alt=\"Vertical Header Spans in DHTMLX Grid\" width=\"804\" height=\"408\" class=\"aligncenter size-full wp-image-6506\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/08\/Vertical-Header-Spans.png 804w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/08\/Vertical-Header-Spans-300x152.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/08\/Vertical-Header-Spans-768x390.png 768w\" sizes=\"auto, (max-width: 804px) 100vw, 804px\" \/><a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/grid\/02_configuration\/01_header_spans.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<h6>Empty Grid<\/h6>\n<p>On top of all, v6.1 makes it possible to initialize an empty Grid, without any data loaded into it. It also introduces the ability to automatically add an empty row into the end of the Grid when the last empty row is filled out with the help of the <strong>autoEmptyRow<\/strong> property:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">var<\/span> grid <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> dhx.<span class=\"me1\">Grid<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;grid_container&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; columns<span class=\"sy0\">:<\/span> <span class=\"br0\">&#91;<\/span><span class=\"co1\">\/\/ columns config],<\/span><br \/>\n&nbsp; &nbsp;autoEmptyRow<span class=\"sy0\">:<\/span><span class=\"kw2\">true<\/span><span class=\"sy0\">,<\/span> &nbsp;<br \/>\n&nbsp; &nbsp;data<span class=\"sy0\">:<\/span> dataset<br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p><a href=\"https:\/\/docs.dhtmlx.com\/suite\/grid\/configuration\/\" rel=\"noopener\" target=\"_blank\">Check the documentation ><\/a><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/08\/Grid-editing-empty-row.gif\" alt=\"Empty row at the end of DHTMLX Grid\" width=\"905\" height=\"599\" class=\"aligncenter size-full wp-image-6509\" \/><a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/grid\/02_configuration\/14_auto_empty_row.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<h5>Complex Selection<\/h5>\n<p>V6.1 delivers the ability to highlight a selected cell together with a row it belongs to.<a href=\"https:\/\/docs.dhtmlx.com\/suite\/grid\/configuration\/\" rel=\"noopener\" target=\"_blank\"> Check the documentation ><\/a><\/p>\n<h5>dhtmlxDataView and dhtmlxList New Features<\/h5>\n<h6>Inline Editing<\/h6>\n<p>Besides dhtmlxGrid, our data processing components &#8211; DataView and List &#8211;  also become easily editable starting from v6.1. There are two ways of setting up the editing functionality. The first one is <a href=\"https:\/\/docs.dhtmlx.com\/suite\/dataview\/manipulating_data\/\" rel=\"noopener\" target=\"_blank\">via the API<\/a> with the help of the <strong>edit<\/strong> method. It allows developers to define which item should be edited. For example, the following line of code instructs DataView to enable editing of the item with the id &#8220;1&#8221;:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\">dataview.<span class=\"me1\">edit<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;1&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>However, there is a more convenient way, which gives end users an opportunity to edit all items at once. It can be enabled using the <strong>editing<\/strong> <a href=\"https:\/\/docs.dhtmlx.com\/suite\/dataview\/configuration\/\" rel=\"noopener\" target=\"_blank\">configuration option<\/a> before the initialization of the component:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">var<\/span> dataview <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> dhx.<span class=\"me1\">DataView<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;dataview_container&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span>editing<span class=\"sy0\">:<\/span><span class=\"kw2\">true<\/span><span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/08\/DataView-editing.gif\" alt=\"Inline editing in DHTMLX DataView\" width=\"887\" height=\"464\" class=\"aligncenter size-full wp-image-6513\" \/><a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/dataview\/02_configuration\/05_editable.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<p>The same <strong>edit<\/strong> method and <strong>editing<\/strong> configuration option can be applied in dhtmlxList. <a href=\"https:\/\/docs.dhtmlx.com\/suite\/list\/configuration\/\" rel=\"noopener\" target=\"_blank\">Read more in the documentation ><\/a><\/p>\n<p>As for dhtmlxTree, previously developers were able to use the <strong>edit<\/strong> method for changing particular items. Now they can turn on inline editing of all Tree items with the help of the <strong>editing<\/strong> <a href=\"https:\/\/docs.dhtmlx.com\/suite\/tree\/configuration\/\" rel=\"noopener\" target=\"_blank\">configuration property<\/a> as well:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">var<\/span> tree <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> dhx.<span class=\"me1\">Tree<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;tree&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span>editing<span class=\"sy0\">:<\/span> <span class=\"kw2\">true<\/span><span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<h6>Multiple Selection and Drag-n-Drop<\/h6>\n<p>V6.1 introduces a multiple selection of List and DataView items and multiple drag-n-drop. <\/p>\n<p>By default, it&#8217;s possible to select just one item in a <a href=\"https:\/\/docs.dhtmlx.com\/suite\/dataview\/configuration\/\" rel=\"noopener\" target=\"_blank\">DataView<\/a> or <a href=\"https:\/\/docs.dhtmlx.com\/suite\/list\/configuration\/\" rel=\"noopener\" target=\"_blank\">List<\/a> at a time. However, with the <strong>multiselection<\/strong> configuration option developers can enable the selection of multiple items at once:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">var<\/span> dataview <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> dhx.<span class=\"me1\">DataView<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;dataview&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span>multiselection<span class=\"sy0\">:<\/span><span class=\"kw2\">true<\/span><span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">var<\/span> list <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> dhx.<span class=\"me1\">List<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;list&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span>multiselection<span class=\"sy0\">:<\/span><span class=\"kw2\">true<\/span><span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>Multiselection has two modes of work. The default one makes use of &#8220;Ctrl + click&#8221; combination for selecting several items. But developers may switch on a simple click mode, which allows selecting multiple items by means of clicks only:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">var<\/span> dataview <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> dhx.<span class=\"me1\">DataView<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;dataview&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; multiselection<span class=\"sy0\">:<\/span><span class=\"kw2\">true<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; multiselectionMode<span class=\"sy0\">:<\/span><span class=\"st0\">&quot;click&quot;<\/span> &nbsp; <br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>Drag-n-drop of multiple items can be easily enabled by specifying the <strong>multiselection:true<\/strong> configuration property in addition to the <strong>dragMode<\/strong>. For example, let&#8217;s set up the drag-n-drop of multiple items in the DataView:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">var<\/span> dataview <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> dhx.<span class=\"me1\">DataView<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;dataview_container&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span> <br \/>\n&nbsp; &nbsp; dragMode<span class=\"sy0\">:<\/span><span class=\"st0\">&quot;source&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; multiselection<span class=\"sy0\">:<\/span><span class=\"kw2\">true<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/08\/DataView-multi-dnd.gif\" alt=\"Drag-n-drop of multiple items in DHTMLX DataView\" width=\"742\" height=\"519\" class=\"aligncenter size-full wp-image-6515\" \/><a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/dataview\/02_configuration\/06_drag_mode.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<h5>Other Updates<\/h5>\n<p>In addition to the main features presented above, we&#8217;ve updated a range of other UI components included in dhtmlxSuite: ComboBox, Form, Popup, Window &#8211; as well as Data and Tree Collection. For instance, dhtmlxCombo received the ability to hide and show a popup via the Popup API. dhtmlxWindow got a special method for checking the window&#8217;s visibility &#8211; <strong>isVisible<\/strong>. Learn about all the updates of JavaScript UI components <a href=\"https:\/\/docs.dhtmlx.com\/suite\/whatsnew\/\" rel=\"noopener\" target=\"_blank\">in the documentation<\/a>.<\/p>\n<p>We invite you to try out dhtmlxSuite 6.1 during a <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSuite\/download.shtml\" rel=\"noopener\" target=\"_blank\">30-day evaluation period<\/a> and benefit from the assistance of our technical support team.<\/p>\n<p>Current clients are welcome to download the latest version in their <a href=\"https:\/\/dhtmlx.com\/clients\/\" rel=\"noopener\" target=\"_blank\">Client&#8217;s Area<\/a>.<\/p>\n<p>We&#8217;ll be looking forward to your feedback! Stay tuned for future updates!<\/p>\n<h5>Related Materials:<\/h5>\n<ul>\n<li><a href=\"https:\/\/docs.dhtmlx.com\/suite\/whatsnew\/\" rel=\"noopener\" target=\"_blank\">Full &#8220;What&#8217;s New List&#8221;<\/a><\/li>\n<li><a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/index.html\" rel=\"noopener\" target=\"_blank\">Samples<\/a><\/li>\n<li><a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSuite\/download.shtml\" rel=\"noopener\" target=\"_blank\">30-day free trial<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s been a month and a half since the large-scale update of the whole JavaScript widget library DHTMLX Suite v6.0. We&#8217;ve been gathering your feedback, prioritizing features for future &#8230;<\/p>\n","protected":false},"author":101012,"featured_media":6519,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70,1,38],"tags":[33,6,10,4],"class_list":["post-6501","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-releases","category-uncategorized","category-visible","tag-all-posts","tag-dhtmlxgrid","tag-dhtmlxsuite","tag-dhtmlx-updates"],"_links":{"self":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/6501","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/users\/101012"}],"replies":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/comments?post=6501"}],"version-history":[{"count":10,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/6501\/revisions"}],"predecessor-version":[{"id":9660,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/6501\/revisions\/9660"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media\/6519"}],"wp:attachment":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media?parent=6501"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/categories?post=6501"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/tags?post=6501"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}