Comprehensive explanation how dhtmlxGantt work

Hi guys,

I’m a student in one of university and i’m looking for explanation regarding to API dhtmlxGantt, and how it works. Previously i was develop some project management tools using dhtmlxGantt API and now i tried to documented it within the dhtmlxGantt API description as the literature study, but i didn’t yet find it the complete and the comprehensive explanation. i have some question regarding to his,

a. In generall how dhtmlxGantt works, what method that used inside it, what is the paramater, what is the component and everything that makes dhtmlxGantt works ? could someone tell me about this comprehensively

b. When we want to implement the dhtmlxGantt we need create table in database titled with “Gantt Tasks” and “Gantt Links”. when the dhtmlxGantt works, is this table have relation to each other?

Thank you very much guys, Cheers


  1. The component consists of about 10k lines of code, it’s quite hard to describe how it works in general. Probably you can elaborate the question.
  • The chart data consists of task and relations between them (finish to start, finish to finish, etc), optionally there can be an additional elements
  • In order to be loaded into dhtmlxGantt, they has to be represented in one of the following formats … .html#json
  • When the data need to be loaded from the server - component sends an Ajax to specified url and expects that server will return data in supported format.
  • After the data is loaded it’s parsed and then displayed in a chart - the display is implemented using a styled DOM elements (no canvas or svg elements).
  • The component handles client-side events which allows modify data from the UI. When the data item changed the component sends an ajax request with an operation info to the server side, which supposed to apply the changes to the data store.

Thats basically it.

  1. There is no strict requirements for a tables and their structure, since gantt works on a client-side and does not interact with them directly.
    You need to store info of tasks (activities) and relations between them - which is a core part of a gantt charts - and to be able to load that data to the client.
    Storing it in two tables is a simplest configuration. … ganttchart