Skip to main content

Customization

Custom styling of widget​

There is a possibility to make changes in the look and feel of a dataview.

DHTMLX DataView with a dark custom theme applied to item cards in DHTMLX Suite

Related sample: Dataview. Styling (custom CSS)

For this you need to take the following steps:

  • add a new CSS class(es) with desired settings in the <style> section of your HTML page or in your file with styles (don't forget to include your file on the page in this case):
<style>
.my_first_class {
/*some styles*/
}

.my_second_class {
/*some styles*/
}
</style>
  • specify the name of the created CSS class (or names of classes separated by spaces) as the value of the css property in the DataView configuration:
const dataview = new dhx.DataView("dataview_container", { 
css:"my_first_class my_second_class"
});

For example:

<style>
.custom {
--dhx-font-color-primary: #fff;
--dhx-background-primary: #3A434A;
--dhx-color-primary: #118d8d;

--dhx-border-color: #4A555E;
--dhx-border: var(--dhx-border-width) solid var(--dhx-border-color);
}
</style>

<script>
const dataview = new dhx.DataView("dataview_container", {
itemsInRow: 2,
gap: 10,
css: "custom dhx_widget--bordered",
template
});
</script>

Custom styling of items​

You can style particular cells in the dataview. For example, apply some color to each even item, as in:

<style>
.bg-gray {
background: #efefef;
}
</style>

<script>
const dataview = new dhx.DataView("dataview_container", {itemsInRow: 5});

dataview.data.parse(dataset);
dataview.data.map(function (item, i) {
if (i % 2) {
dataview.data.update(item.id, {css: "bg-gray"})
}
});
</script>

The image below and the related sample demonstrate another example of customization of Dataview items:

DHTMLX DataView with numbered item cards styled with custom green borders in DHTMLX Suite

Related sample: Dataview. Styling (custom CSS for item)

Custom styling of selection and focus​

You can apply your own styles for selection of items and focus with the help of the corresponding CSS classes: .dhx_dataview-item--selected and .dhx_dataview-item--focus. There is no need to use any additional custom classes.

<style>
.dhx_dataview-item--selected {
border-color: transparent;
box-shadow: 0px 1px 5px 0px rgb(2, 136, 209, 0.5),
inset 0px 0px 0px 1px rgb(2, 136, 209, 1);
}
</style>

<script>
const dataview = new dhx.DataView("dataview_container", {itemsInRow: 3});
</script>

DHTMLX DataView with a selected item card highlighted by a custom blue border in DHTMLX Suite

Related sample: Dataview. Custom selection styles