Arrow keys navigation

The List component provides the possibility to navigate its items with arrow keys. You can enable this functionality using the keyNavigation property:

var list = new dhx.List("list", {keyNavigation:true});

As a value of this option you can use either true/false to switch it on/off, or specify a function that will define some custom navigation logic.

Drag-n-drop of items

dhtmlxList supports drag-n-drop of items between lists in several modes. To begin with, you should specify the dragMode property in the configuration object of List. Then define which mode you need:

  • "target" - a list takes items from other lists, while its items can't be dragged out of it
  • "source" - a list allows dragging its items out and can't take items from other lists
  • "both" - a list both takes items from other lists and allows dragging its items out as well
var list = new dhx.List("list_container", { 

In order to provide the possiblity of dragging several items between lists, you should enable the multiselection in addition to the dragMode:

var list = new dhx.List("list_container", { 

Read more about multiselection in List below.

Related sample:  List. Setup Drag Mode

Dynamic rendering of items

All data is loaded into List and rendered at once. In case you use large amounts of data in the list, it may slow down the work of your app.

There is a possibility to increase the speed of your application containing a List by enabling dynamic data rendering. It presupposes that data is rendered by parts and on demand. To make use of dynamic data rendering, switch the virtual property on.

var list = new dhx.List("list_container", { 

Related sample:  List. Virtual List

Editing items


Related sample:  List. Editable List

You can enable the possibility to edit List items with the help of the editable configuration option:

var list = new dhx.List("list_container", {editable:true});

Height of an item


Related sample:  List. Setup List Item Height

You can specify the necessary height of an item and set it before initialization of List via the itemHeight property either as a number:

// sets the height of an item as a number
var list = new dhx.List("list_container", { 
    itemHeight:30 });

or as a string value

// sets the height of an item as a string value
var list = new dhx.List("list_container", { 
    itemHeight:"30px" });

The usage of the CSS calc() function within the itemHeight property is not possible.

When the virtual property is set to true, the default height of a list item is 37. To change this value, make use of the itemHeight property, as described above.

Height of the List


Related sample:  List. Setup List Height

You can define the desired height of a list via the height configuration option as easy as that:

var list = new dhx.List("list", {height: 700});

You can also use a string value for setting the height of List:

var list = new dhx.List("list", {height: "700px"});

The usage of the CSS calc() function within the height property is not possible.

Multiple selection of items


Related sample:  List. List Multiselection

By default, you can select only one item in a list, since selection of another item resets selection of the previous one. To enable the possbility to select several List items, make use of the multiselection configuration option:

var list = new dhx.List("list", {multiselection:true});

Setting the multiselection property to true presupposes selection of multiple items by using Ctrl key. It is also possible to use the "Ctrl+click" combination to select several items. For this, you need to set the multiselection configuration option to "ctrlClick":

var list = new dhx.List("list", {

Selection of items


Related sample:  Disable Selection - DHTMLX List

The default configuration of List provides you with the selection feature that allows highlighting a List item. To disable selection in a List you need to set the selection configuration property to false:

var list = new dhx.List("list_container", {selection: false});

Template for List items


Related sample:  List. Add Template To List Item

You can define a template for rendering items in a List with the help of the template configuration property. Set as its value a function that takes one parameter:

  • item - (object) an object of a data item
var list = new dhx.List("list", {
    css: "dhx_widget--bordered", 
    template: function(item) {
        var template = "<div class='list_item'>";
        template += "<div class='item_name'>"+item.value;
        template+="<span class='item_author'> by "
        template += item.authors.filter(function(item){return item}).join(", ");
        template += item.publishedDate ? ", " 
        template += new Date(item.publishedDate.$date).getFullYear() : "";
        template += "</span>";
        template += "</div>";
        template += "<div class='item_categories'>"+item.categories.join(", ")+"</div>";
        template += "</div>";
        return template;
    itemHeight: 72
Back to top