You can use CSS to achieve the desired look-and-feel of Datatable.
You can fine-tune the style of:
To apply some style to a whole table you can use the css parameter. As the value of the parameter, you must specify the name of the appropriate CSS class.

Styling the whole table
<style>    .my_style .webix_hcell{
        background:#009966;
        color:white;
        font-weight:bold;
 
    }
    .my_style .webix_column{
        font-style:italic;
        background:#ddFFdd;
    }
    .my_style .webix_column > div{
        border-color:#ddd;
    }
</style>
 
<script>webix.ui({
    view:"datatable",
    css:"my_style"
});
</script>
To apply some style to a specific column, you should specify the css attribute within the columns parameter while configuring a column.
As a value of the attribute you can specify:

Styling a single column
<style>    .my_style {
        font-weight:bold;
        color:#B51454;
    }
</style>
 
<script>webix.ui({
    view:"datatable",
    columns:[
        // a separate CSS class
        { id:"title", header:"Film title", css:"my_style" },
        // an object with CSS properties
        { id:"votes", header:"Votes", css:{"text-align":"right"}}
    ],
...
});
</script>
Related sample: Columns Styling
If you use the default Material skin or its compact version Mini, there are no borders between columns:

If you want borders between the columns of the header and / or the columns of the body of Datatable, you can add them by adding the corresponding CSS classes:
wbix.ui({
    view:"datatable",
    id:"datatable",
    css:"webix_header_border webix_data_border",     columns:[
        { id:"rank", header:"", width:30 },
        { id:"title", header:"Film title", fillspace:true },
        { id:"year", header:"Released" },
        { id:"votes", header:"Votes" }
    ],
    scroll:false,
    data:small_film_set
});
Related sample: Datatable with column borders in Material and Mini skins
Generally, to apply some style to a specific row, you may use the $change key of the scheme parameter. The key is a function that runs each time data are changed in the table. As a parameter, the function takes the data item object.

General styling of rows
<style>    .highlight{
        background-color:#FFAAAA;
    }
</style>
 
<script>webix.ui({
    view:"datatable",
    scheme:{
        $change:function(item){
            if (item.year > 1980)
                item.$css = "highlight";
        }
    },
    columns:[
        { id:"title", header:"Film title"},
        { id:"votes", header:"Votes"}
    ]
});
</script>
If you specify data directly inside the DataTable constructor, you have one more way to set the desired style for a row.
You can use the $css attribute inside the data parameter to set the desired style.
We don't recommend to dynamically change attributes with the '$' prefix (e.g. $css, $cellCss). Please, use the addCellCss, addRowCss methods instead.
Setting rows style directly in the dataset
<style>    .my_style{
        background-color:#FFAAAA;
    }
</style>
 
<script>webix.ui({
    view:"datatable",
    columns:[
        { id:"title",   header:"Film title"},
        { id:"votes",   header:"Votes"}
    ],
    data:[
        {
            id:1,
            $css:"my_style",
            title:"The Shawshank Redemption",
            votes:678790
        },
        {
            id:2,
            $css:{ "text-align":"right" },
            title:"The Godfather",
            votes:511495,
        }
    ]
});
</script>
You can specify a custom style for selection of a row when the mouse pointer is over it.

For this purpose, you should define your CSS style in the hover property.
<style>    .myhover{
        background: #F0DCB6;
    }
</style>
 
<script>webix.ui({
    view:"datatable",
    columns:[
        { id:"title",   header:"Film title",    width:200},
        { id:"year",    header:"Released",      width:80},
        { id:"votes",   header:"Votes",         width:100}
    ],
    hover:"myhover"
});
</script>
Generally, to apply some style to specific cells in a column, you should use the cssFormat attribute inside the columns parameter. The attribute sets a function that will define how cells of the column must be colored. The function takes the following parameters:

General styling of cells
function mark_votes(value, config){
    if (value > 400000)
        return { "text-align":"right" };
};
 
webix.ui({
    view:"datatable",
    columns:[
        { id:"title", header:"Film title"},
        { id:"votes", header:"Votes", cssFormat:mark_votes }
    ],
});
If you specify data directly inside the DataTable constructor, you have one more way to set the desired style for a cell - the $cellCss property.
We don't recommend to dynamically change attributes with the '$' prefix (e.g. $css, $cellCss). Please, use the addCellCss, addRowCss methods instead.
Setting cells style directly in the dataset
<style>    .my_style{
        background-color:#FFAAAA;
    }
</style>
 
<script>webix.ui({
    view:"datatable",
    columns:[
        { id:"title",   header:"Film title"},
        { id:"votes",   header:"Votes"}
    ],
    data:[
        {
            id:1,
            title:"The Shawshank Redemption",
            votes:678790,
            $cellCss:{
                votes:"highlight"
            }
        },
        {
            id:2,
            title:"The Godfather",
            votes:511495,
            $cellCss:{
                votes:{ "text-align":"right" }
            }
        }
    ]
});
</script>
To set style for a specific cell of the header you should use the following technique:

General styling of the header
<style>    .my_style{
        background-color:#FFAAAA;
    }
</style>
 
<script>webix.ui({
    view:"datatable",
    columns:[
        { id:"title",   header:{ text:"Film title", css:{ "background":"#AFA"}} },
        { id:"votes",   header:{ text:"Votes",      css:"my_style"} }
    ]
});
</script>
Related sample: Header Styling

The list of CSS classes with their descriptions is given below: