{"id":6988,"date":"2019-12-12T10:28:26","date_gmt":"2019-12-12T07:28:26","guid":{"rendered":"https:\/\/dhtmlx.com\/blog\/?p=6988"},"modified":"2025-03-18T16:21:14","modified_gmt":"2025-03-18T13:21:14","slug":"dhtmlx-suite-6-3-grid-keyboard-navigation-custom-htmlx-content-ajax-helper","status":"publish","type":"post","link":"https:\/\/dhtmlx.com\/blog\/dhtmlx-suite-6-3-grid-keyboard-navigation-custom-htmlx-content-ajax-helper\/","title":{"rendered":"DHTMLX Suite 6.3 Introducing Grid Keyboard Navigation, Custom HTML Content in DHTMLX Components, and AJAX Helper"},"content":{"rendered":"<p>Our aspiring <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSuite\/\" rel=\"noopener\" target=\"_blank\">JavaScript widget library<\/a> has received a new update 6.3 with essential UX enhancements and deeper UI customization. From now on, end users can handily navigate through Grid cells with the help of keyboard shortcuts. Developers can create any kind of custom HTML content inside DHTMLX Grid, TreeGrid, Menu, Ribbon, Toolbar, and Sidebar components. Besides, the library obtains an AJAX helper for creating asynchronous web apps on the fly.<\/p>\n<p><a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSuite\/download.shtml\" rel=\"noopener\" target=\"_blank\"><strong>Get down to testing a new version 6.3 free of charge for 30 days ><\/strong><\/a><\/p>\n<h5>Grid and TreeGrid Updated<\/h5>\n<h6>Keyboard Navigation in Grid<\/h6>\n<p>V6.3 delivers a convenient set of <a href=\"https:\/\/docs.dhtmlx.com\/suite\/grid\/configuration\/\" rel=\"noopener\" target=\"_blank\">keyboard shortcuts<\/a> for navigating data in Grid. Due to a wide variety of shortcut keys, developers can greatly speed up the work with huge data tables. The default set of shortcuts enables users to scroll the grid up and down as well as navigate to the beginning or end of the data table, while the selected cell remains unchanged.<\/p>\n<p>If needed, developers can quickly disable the default keyboard navigation:<\/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><span class=\"co1\">\/\/ columns config],<\/span><br \/>\n&nbsp; &nbsp; data<span class=\"sy0\">:<\/span> dataset<span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; keyNavigation<span class=\"sy0\">:<\/span> <span class=\"kw2\">false<\/span> <br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>Additionally, the <strong>selection<\/strong> property enables developers to make the selection of cells possible for end users with the help of shortcut keys:<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/12\/Key-navigation.gif\" alt=\"Grid keyboard navigation\" width=\"800\" height=\"320\" class=\"aligncenter size-full wp-image-6995\" \/><a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/grid\/02_configuration\/20_key_navigation.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/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><span class=\"co1\">\/\/ columns config],<\/span><br \/>\n&nbsp; &nbsp; data<span class=\"sy0\">:<\/span> dataset<span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; selection<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;complex&quot;<\/span><span class=\"sy0\">,<\/span> <br \/>\n&nbsp; &nbsp; keyNavigation<span class=\"sy0\">:<\/span> <span class=\"kw2\">true<\/span> <span class=\"co1\">\/\/ true - by default<\/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\/12\/Tab-navigation.gif\" alt=\"Shortcut Keys - DHTMLX Grid\" width=\"800\" height=\"210\" class=\"aligncenter size-full wp-image-6996\" \/><a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/grid\/02_configuration\/20_key_navigation.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<p>Besides, developers have broadened keyboard navigation in Grid to provide end users with shortcut keys for editing the content of cells. The Enter key opens an editor and allows saving changes, while the Esc key closes an editor without saving changes. To enable this feature, you need to set the <strong>editing<\/strong> property in the configuration object of Grid to <em>true<\/em>:<\/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><span class=\"co1\">\/\/ columns config],<\/span><br \/>\n&nbsp; &nbsp; data<span class=\"sy0\">:<\/span> dataset<span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; selection<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;complex&quot;<\/span><span class=\"sy0\">,<\/span> <br \/>\n&nbsp; &nbsp; editing<span class=\"sy0\">:<\/span> <span class=\"kw2\">true<\/span><span class=\"sy0\">,<\/span> <br \/>\n&nbsp; &nbsp; keyNavigation<span class=\"sy0\">:<\/span> <span class=\"kw2\">true<\/span> <span class=\"co1\">\/\/ true - by default<\/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\/12\/Editors-navigation.gif\" alt=\"Key shortcuts for editing DHTMLX Grid\" width=\"800\" height=\"394\" class=\"aligncenter size-full wp-image-6998\" \/><a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/grid\/02_configuration\/20_key_navigation.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<h6>Custom HTML Content in Grid and TreeGrid<\/h6>\n<p>More customization opportunities have come with v6.3. The update brings out the ability to add any custom HTML content into the cells of <a href=\"https:\/\/docs.dhtmlx.com\/suite\/grid\/configuration\/\" rel=\"noopener\" target=\"_blank\">Grid<\/a> and <a href=\"https:\/\/docs.dhtmlx.com\/suite\/grid\/configuration\/\" rel=\"noopener\" target=\"_blank\">TreeGrid<\/a> right in the dataset. You can choose whether to use custom HTML elements either in all columns or only in particular columns of your data table. <\/p>\n<p>For instance, in order to display countries&#8217; flags together with their names in the first column of Grid, you need to specify the path to an image of the flag in the dataset and apply the <strong>htmlEnable<\/strong>: <strong>true<\/strong> configuration 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> dataset <span class=\"sy0\">=<\/span> <span class=\"br0\">&#91;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"st0\">&quot;country&quot;<\/span><span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;&lt;span&gt;China&lt;\/span&gt;&lt;img src='..\/flags\/cn.jpg' \/&gt;&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"st0\">&quot;id&quot;<\/span><span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;1&quot;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp;<br \/>\n<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\">200<\/span><span class=\"sy0\">,<\/span> id<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;country&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;Country&quot;<\/span> <span class=\"br0\">&#125;<\/span><span class=\"br0\">&#93;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; htmlEnable<span class=\"sy0\">:<\/span> <span class=\"kw2\">true<\/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> <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;urban&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;Urban Pop&quot;<\/span> <span class=\"br0\">&#125;<\/span><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=\"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> dataset<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\/12\/Custom-content-in-Grid.jpg\" alt=\"Custom HTML content in DHTMLX Grid\" width=\"804\" height=\"284\" class=\"aligncenter size-full wp-image-7000\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/12\/Custom-content-in-Grid.jpg 804w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/12\/Custom-content-in-Grid-300x106.jpg 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/12\/Custom-content-in-Grid-768x271.jpg 768w\" sizes=\"auto, (max-width: 804px) 100vw, 804px\" \/><a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/grid\/02_configuration\/21_html_in_data.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<h5>Menu, Ribbon, Sidebar, and Toolbar Updated<\/h5>\n<h6>Custom HTML Content<\/h6>\n<p>There is no limit to customization possibilities of your web apps with DHTMLX. V6.3 rolls out the ability to equip DHTMLX navigation components (Menu, Toolbar, Ribbon, and Sidebar) with any kind of custom content you might need to see in your apps. It&#8217;s possible to add a custom element like an image, icon, or other HTML content into the component itself or into its controls:<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/12\/ribbon_-custom_content.gif\" alt=\"Custom uploader in DHTMLX Ribbon\" width=\"900\" height=\"116\" class=\"aligncenter size-full wp-image-7001\" \/>Uploader inside the Ribbon component. <a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/ribbon\/02_configuration\/08_custom_html.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<p>The <strong>add<\/strong> method makes it easy to add custom content to the component  &#8211; <a href=\"https:\/\/docs.dhtmlx.com\/suite\/ribbon\/customhtmlbutton\/\" rel=\"noopener\" target=\"_blank\">DHTMLX Ribbon<\/a> in the first example above:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\">ribbon.<span class=\"me1\">data<\/span>.<span class=\"me1\">add<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; type<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;customHTML&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; html<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;&lt;div id='preloader'&gt;&lt;div id='loader'&gt;&lt;\/div&gt;&lt;\/div &gt;&quot;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>Meanwhile, the <strong>html<\/strong> property allows displaying custom content inside a control &#8211; for example, showing the <a href=\"https:\/\/docs.dhtmlx.com\/suite\/ribbon\/block\/\" rel=\"noopener\" target=\"_blank\">uploader in the Progress button<\/a> of DHTMLX Ribbon:<\/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; type<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;block&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; title<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;Progress&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; items<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; html<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;&lt;div id='preloader'&gt;&lt;div id='loader'&gt;&lt;\/div&gt;&lt;\/div &gt;&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; size<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;auto&quot;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#93;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/12\/inner_custom_content.gif\" alt=\"Adding HTML content into controls of DHTMLX Ribbon\" width=\"900\" height=\"118\" class=\"aligncenter size-full wp-image-7002\" \/><a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/ribbon\/02_configuration\/11_item_html_content.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<p>The same principle applies to other navigation components: Menu, Toolbar, and Sidebar.<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/12\/Menu-custom-content.jpg\" alt=\"Custom HTML content in DHTMLX Menu\" width=\"600\" height=\"211\" class=\"aligncenter size-full wp-image-7003\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/12\/Menu-custom-content.jpg 600w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/12\/Menu-custom-content-300x106.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/>Menu items with custom icons. <a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/menu\/02_configuration\/06_item_html_content.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<h5>Charts Updated<\/h5>\n<p>Minor enhancements have been made to DHTMLX Charts. From now on, you can fine-tune your charts and equip bars and pie slices with formatted data labels via the <a href=\"https:\/\/docs.dhtmlx.com\/suite\/chart\/configuration_properties\/\" rel=\"noopener\" target=\"_blank\"><strong>showTextTemplate<\/strong><\/a> property. Thus, your bar charts can include not only values but also currency symbols (or any other symbols), for instance:<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/12\/Bar-chart-labels.jpg\" alt=\"Formatted labels in DHTMLX charts\" width=\"900\" height=\"590\" class=\"aligncenter size-full wp-image-7006\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/12\/Bar-chart-labels.jpg 900w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/12\/Bar-chart-labels-300x197.jpg 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2019\/12\/Bar-chart-labels-768x503.jpg 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/chart\/02_configuration\/17_show_text_template.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<h5>AJAX Helper<\/h5>\n<p>In addition to new features and improvements, DHTMLX developers have prepared the <a href=\"https:\/\/docs.dhtmlx.com\/suite\/ajax\/\" rel=\"noopener\" target=\"_blank\">AJAX helper<\/a> at the request of our clients. It works smoothly with DHTMLX components and allows them to exchange data with a web server without reloading the page. The helper makes use of the <strong>dhx.ajax<\/strong> object with four common methods: <strong>delete<\/strong>, <strong>get<\/strong>, <strong>post<\/strong>, and <strong>put<\/strong>.<\/p>\n<h5>Other Updates<\/h5>\n<h6>Calendar API Enlarged<\/h6>\n<p>The Calendar component is much more developer-friendly now, as we have included a range of new events for listening to user actions (<a href=\"https:\/\/docs.dhtmlx.com\/suite\/calendar\/api\/calendar_cancelclick_event\/\" rel=\"noopener\" target=\"_blank\"><strong>cancelClick<\/strong><\/a>, <a href=\"https:\/\/docs.dhtmlx.com\/suite\/calendar\/api\/calendar_modechange_event\/\" rel=\"noopener\" target=\"_blank\"><strong>modeChange<\/strong><\/a>, <a href=\"https:\/\/docs.dhtmlx.com\/suite\/calendar\/api\/calendar_monthselected_event\/\" rel=\"noopener\" target=\"_blank\"><strong>monthSelected<\/strong><\/a>, <a href=\"https:\/\/docs.dhtmlx.com\/suite\/calendar\/api\/calendar_yearselected_event\/\" rel=\"noopener\" target=\"_blank\"><strong>yearSelected<\/strong><\/a>) as well as the <a href=\"https:\/\/docs.dhtmlx.com\/suite\/calendar\/operating_calendar\/\" rel=\"noopener\" target=\"_blank\"><strong>getCurrentMode()<\/strong><\/a> method for determining what the component is currently displaying: calendar, month, year, or time picker.<\/p>\n<h6>Manipulating Nodes in Tree and TreeGrid<\/h6>\n<p>Starting with v6.3, developers can collapse and expand all nodes of DHTMLX Tree and TreeGrid at once with the help of a couple of simple methods: <strong>collapseAll<\/strong> and <strong>expandAll<\/strong>. <a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/treegrid\/03_usage\/12_expand_collapse.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<h6>CSS Measurement Units in List and DataView<\/h6>\n<p>In DHTMLX List and DataView developers can set the height of items (as well as of the whole component) not only as a number but also as a <a href=\"https:\/\/docs.dhtmlx.com\/suite\/list\/configuration\/\" rel=\"noopener\" target=\"_blank\">string value<\/a> in any CSS measurement unit: px, %, em, whatnot. For instance, define the height of the list item as 30px:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"co1\">\/\/ sets the height of an item as a string value<\/span><br \/>\n<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_container&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span> <br \/>\n&nbsp; &nbsp; itemHeight<span class=\"sy0\">:<\/span><span class=\"st0\">&quot;30px&quot;<\/span> <br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>We do hope our December update will contribute to the efficient development of your web apps with DHTMLX. Please leave us your feedback in the comments section below.<\/p>\n<p>We invite our current clients 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>If you&#8217;re new to the DHTMLX UI components library, feel free to <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSuite\/download.shtml\" rel=\"noopener\" target=\"_blank\">download and test the trial version 6.3<\/a>.<\/p>\n<h5>Related Materials:<\/h5>\n<ul>\n<li><a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/index.html\" rel=\"noopener\" target=\"_blank\">DHTMLX Suite samples<\/a><\/li>\n<li><a href=\"https:\/\/docs.dhtmlx.com\/suite\/whatsnew\/\" rel=\"noopener\" target=\"_blank\">Full &#8220;What&#8217;s New&#8221; list<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Our aspiring JavaScript widget library has received a new update 6.3 with essential UX enhancements and deeper UI customization. From now on, end users can handily navigate through Grid &#8230;<\/p>\n","protected":false},"author":101012,"featured_media":6990,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,70,1,38],"tags":[33,21,6,10,4],"class_list":["post-6988","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-posts-for-codeproject-com","category-releases","category-uncategorized","category-visible","tag-all-posts","tag-charts","tag-dhtmlxgrid","tag-dhtmlxsuite","tag-dhtmlx-updates"],"_links":{"self":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/6988","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=6988"}],"version-history":[{"count":19,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/6988\/revisions"}],"predecessor-version":[{"id":13586,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/6988\/revisions\/13586"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media\/6990"}],"wp:attachment":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media?parent=6988"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/categories?post=6988"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/tags?post=6988"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}