jQWidgets Forums

Forum Replies Created

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

  • Sacrifice
    Member

    Hi jqWidgets Team,

    Or can you add some property to select all data or select all per page?

    Here it’s a runtime list from a last page to previous page on code above,
    [Firefox Nightly 27.0a1] 8.92 – 9.36 sec
    [Firefox 24.0] 14.13 – 16.70 sec
    [Chrome V 30.0.1599.66 m] 3.44 – 4.60 sec
    [IE9] 16.11 – 20.31 sec
    [IE8] 36.71 – 51.40 sec or not responding
    [IE7] not responding

    Thank you.


    Sacrifice
    Member

    Hi Peter,

    Yes it is, just like this “”
    that supports all major desktop and mobile web browsers. (Ex. IE8+, FF, Chrome, Safari)


    Sacrifice
    Member

    Hi,

    The issue is that “getItems” returns wrong results after removing items?

    Yes it is, thank you’re already get it this issue just like this topic

    http://www.jqwidgets.com/community/topic/removing-items-from-jqxtree/#post-10274

    Thank you.


    Sacrifice
    Member

    Hi

    You don’t understand my point. I said, there is no ko model in my code. and I have already known that it doesnt synchronize with ko model.

    Tree Items is wrong. It is not the ko model.

    please take a look at code below. I have to fix it by myself. It should be correct since I get items by using your function $(‘#jqxTree’).jqxTree(‘getItems’);

                        var deletelist = new Array();
    deletelist[0] = selectedItem.id;
    var level_p = 0;
    var check_p = false;
    for (var i = 0; i < items.length; i++) {
    if (check_p == false) {
    if (selectedItem.id == items[i].id) {
    check_p = true;
    level_p = items[i].level;
    }
    } else {
    if (items[i].level == level_p) {
    break;
    }
    deletelist[deletelist.length] = items[i].id;
    }
    }
    var itempp = $('#jqxTree').jqxTree('getItems');
    for (var i = 0; i < deletelist.length; i++) {
    var indexp = itempp.indexOf(deletelist[i]);
    itempp.remove(indexp);
    }

    Sacrifice
    Member

    Hi

    Please use my secord simple code above for your test.

    There is no ko model on this code. There is just only jqx command on it.

    I use jqx command

    $(‘#jqxTree’).jqxTree(‘addTo’, { label: “Select” }, selectedItem.element, false); to add item into jqxtree

    and command

    $(‘#jqxTree’).jqxTree(‘removeItem’, selectedItem.element, false); to remove item out.

    after adding item. the command $(‘#jqxTree’).jqxTree(‘getItems’); works well. it gets items correctly.

    but

    after remove item. the command $(‘#jqxTree’).jqxTree(‘getItems’); works wrong. it gets incorrect items like not refreshed. please see the item total amount, that included a deleted items.

    If I got correct items by $(‘#jqxTree’).jqxTree(‘getItems’) after adding item, it should be correct after removing item as well.

    Anyway, thank you very much for your response.


    Sacrifice
    Member

    Hi Peter Stove

    Im still looking forward to getting answer from you. Im quite sure. This is a bug.

    I have tested by using on jqwidget 2.9. the result is still same, getting incorrect items.

    Please give me your advice.

    Thank you.


    Sacrifice
    Member

    Hi,

    Thank you for keep talking with me.

    Im just realized that items on jqxtree is not related to my model. it is just loaded on the first time.

    I know when I use command $(‘#jqxTree’).jqxTree(‘addTo’, { label: “Select” }, selectedItem.element, false);
    or $(‘#jqxTree’).jqxTree(‘removeItem’, selectedItem.element, false); my model is not changed following by jqxtree item.

    so, I have no choice except using $(‘#jqxTree’).jqxTree(‘getItems’); to refresh jqxtree item correctly.

    please help me to fine a way out.

    here is my new example.

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <title></title>
    <link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" type="text/css" />
    <script type="text/javascript" src="../../scripts/jquery-1.8.3.min.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxcore.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxbuttons.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxdata.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxscrollbar.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxpanel.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxdragdrop.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxtree.js"></script>
    <script type="text/javascript">
    $(document).ready(function () {
    var data = [
    {
    "id": "5",
    "parentid": "1",
    "text": "White Hot Chocolate",
    "value": "$2.3"
    }, {
    "text": "Chocolate Beverage",
    "id": "1",
    "parentid": "-1",
    "value": "$2.3"
    }, {
    "id": "6",
    "text": "Espresso Beverage",
    "parentid": "-1",
    "value": "$2.3"
    }, {
    "id": "11",
    "text": "Pumpkin Spice Latte",
    "parentid": "6",
    "value": "$2.3"
    }, {
    "id": "12",
    "text": "Frappuccino",
    "parentid": "-1"
    }, {
    "id": "13",
    "text": "Caffe Vanilla Frappuccino",
    "parentid": "12",
    "value": "$2.3"
    }, {
    "id": "15",
    "text": "450 calories",
    "parentid": "13",
    "value": "$2.3"
    }, {
    "id": "16",
    "text": "16g fat",
    "parentid": "13",
    "value": "$2.3"
    }, {
    "id": "17",
    "text": "13g protein",
    "parentid": "13",
    "value": "$2.3"
    }, {
    "id": "14",
    "text": "Caffe Vanilla Frappuccino Light",
    "parentid": "12",
    "value": "$2.3"
    }]
    // prepare the data
    var source =
    {
    datatype: "json",
    datafields: [
    { name: 'id' },
    { name: 'parentid' },
    { name: 'text' },
    { name: 'value' }
    ],
    id: 'id',
    localdata: data
    };
    var dataAdapter = new $.jqx.dataAdapter(source);
    dataAdapter.dataBind();
    var records = dataAdapter.getRecordsHierarchy('id', 'parentid', 'items', [{ name: 'text', map: 'label'}]);
    $('#jqxTree').jqxTree({ allowDrag: true, allowDrop: true, source: records, height: '540px', width: '350px' });
    $('#jqxTree').on('select', function (event) {
    var args = event.args;
    var item = $('#jqxTree').jqxTree('getItem', args.element);
    if (item) {
    $("#id").val(item.id);
    $("#value").val(item.value);
    $("#label").val(item.label);
    $("#parentId").val(item.parentId);
    $("#level").val(item.level);
    }
    });
    $("#jqxTree").on('dragStart', function (event) {
    $("#Event").text("Drag Start: " + event.args.label);
    });
    $("#jqxTree").on('dragEnd', function (event) {
    $("#Event").text("Drag End");
    });
    // Create and initialize Buttons
    $('#Add, #Get').jqxButton({ height: '25px', width: '180px' });
    $('#Remove').jqxButton({ height: '30px', width: '300px' });
    // Add
    $('#Add').click(function () {
    var selectedItem = $('#jqxTree').jqxTree('selectedItem');
    if (selectedItem != null)
    $('#jqxTree').jqxTree('addTo', { label: "Select" }, selectedItem.element, false);
    else
    $('#jqxTree').jqxTree('addTo', { label: "Unselect" }, null, false);
    $('#jqxTree').jqxTree('render');
    });
    // Remove
    $('#Remove').click(function () {
    var selectedItem = $('#jqxTree').jqxTree('selectedItem');
    if (selectedItem != null) {
    $('#jqxTree').jqxTree('removeItem', selectedItem.element, false);
    $("#jqxTree").jqxTree('selectItem', null);
    $('#jqxTree').jqxTree('render');
    }
    });
    // Get all Items
    $('#Get').click(function () {
    var items = $('#jqxTree').jqxTree('getItems');
    if (items != null) {
    $("#Event").text(items);
    alert('MyData:' + data.length + ', jqxTreeitem:' + items.length);
    }
    });
    $('#jqxTree').jqxTree('expandAll');
    });
    </script>
    </head>
    <body>
    <div style='float: left; margin-left: 20px; border: none;' id="jqxTree"></div>
    <div style='margin-left: 60px; float: left;'>
    <div style='margin-top: 10px;'>
    ID:
    <input type="text" id="id" />
    </div>
    <div style='margin-top: 10px;'>
    ParentID:
    <input type="text" id="parentId" />
    </div>
    <div style='margin-top: 10px;'>
    Value:
    <input type="text" id="value" />
    </div>
    <div style='margin-top: 10px;'>
    Label:
    <input type="text" id="label" />
    </div>
    <div style='margin-top: 10px;'>
    Level:
    <input type="text" id="level" />
    </div>
    <div style='margin-top: 10px;'>
    <input type="button" id='Add' value="Add Item to jqxTree" />
    </div>
    <div style='margin-top: 10px;'>
    <input type="button" id='Remove' value="REMOVE SELECTED ITEM!!" />
    </div>
    <div style='margin-top: 10px;'>
    <input type="button" id='Get' value="Get all DATA in jqxTree" />
    </div>
    </div>
    <div id="Event"></div>
    </body>
    </html>

    Sacrifice
    Member

    Hi,

    Im Sorry, I wrote wrong.

    “Add” is for adding an item. input some text into the next textbox.
    “Remove” is for removing an item which is selected.
    “Get all Items” for alert model.legth and display all model on the right side.

    please add an item. then click button “Get all Items” you will see item.length is correct.
    but if you click “Remove” and then click “Get all Items” again. you will see item.length is incorrect untill you add new item again

    The problem is after delete an item. Your function $(‘#jqxTree’).jqxTree(‘getItems’); does not get total item correctly.


    Sacrifice
    Member

    Thank you ^_^


    Sacrifice
    Member

    Hi robrichard,

    .jqxGrid(‘updatebounddata’) This method didn’t work on v2.8.3 please using v2.8.2, this problem effect to KO case too.
    In my case when KO model change filtering grid will refresh at first time only then I’ve use this method to resolved that problem.


    Sacrifice
    Member

    Hi Peter Stoev,

    Thank you for advice, when I’m used a ‘deleterow’ that not made KO model change the data

    here it’s my code

    var rowid = $('#jqxgrid').jqxGrid('getrowid', selectedrowindex[i]);
    var commit = $("#jqxgrid").jqxGrid('deleterow', rowid);

    have another solution for delete a real KO data with jqxgrid filtering form??

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