jQWidgets Forums

Forum Replies Created

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts

  • tjdo
    Participant

    After spending two weeks with the framework API, it’s pretty good. I probably could have gotten around the API issues. But after spending as much time reading the forum it’s apparent you guys really need improvement on the customer service side. We are refactoring a very large an enterprise application that is likely going to require significant support from the chosen component vendor for the next couple of years, so I think I’ll look at other frameworks. Thanks for the time.


    tjdo
    Participant

    Really? Because data binding works like that in Angular, Knockout, and almost any other framework I’ve worked with to date that supports data binding.


    tjdo
    Participant

    This really isn’t data binding. In true data binding, when the source is updated, the destination is also updated. There should be no need to call a updateBoundData method. In fact, this breaks the data binding paradigm, and requires a significant effort on the part of the UI to ensure synchronicity in the UI and the data source. So unless I am misunderstanding the way data binding works in jqWidgets, there’s a serious flaw in the data binding.

    Here’s an angular example of why I feel this is terrible, especially for grids (and especially for tree grids):

    
    var myData = [{name: 'First record'}, {name: 'Second record'}];
    var ds = { localData: myData };
    var dataAdapter = new $.jqx.dataAdapter(ds);
    
    $scope.gridSettings = { 
        columns: [{text: 'Name', dataField: 'name', width: 100}],
        source: dataAdapter
    }
    
    myData[1].name = "I want to change my name";
    

    In the case above, you need to actually call $(‘#treeGrid’).jqxTreeGrid(‘updateBoundData’); if you want your tree grid to reflect the changes to myData[1]. When the updateBoundData method is called, the entire grid is refreshed and loses its state. This means, in the tree grid, any rows you have expanded or collapsed will not be remembered. The developer is entirely responsible for tracking the state of the grid. This entirely defeats one of the main purposes of data binding.

    So unless I am misunderstanding how data binding is actually supposed to work, so far the jqWidget framework does not seem to handle data binding correctly.

Viewing 3 posts - 1 through 3 (of 3 total)