jQWidgets Forums

Forum Replies Created

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • in reply to: UPDATE XML don't work UPDATE XML don't work #18600

    joabe
    Member

    Hi Peter,

    It is a system that runs local, will not be on a server. It’s a system that I am developing to stay within an external HD. Its update the information in XML with the information that changed on the grid?
    Thankful. (sorry, english by goole translator) : )

    in reply to: UPDATE XML don't work UPDATE XML don't work #18523

    joabe
    Member

    var source =
    {
    datatype: “xml”,
    datafields: [
    { name: ‘titulo’, type: ‘string’, map: ‘video>titulo’ },
    { name: ‘assunto’, type: ‘string’, map: ‘video>assunto’ },
    { name: ‘palavras’, type: ‘string’, map: ‘video>palavras’ },
    { name: ‘duracao’, type: ‘string’, map: ‘video>duracao’ },
    { name: ‘gravacao’, type: ‘string’, map: ‘video>gravacao’ },
    { name: ‘vlink’, type: ‘string’, map: ‘video>link’ }
    ],
    root: “videos”,
    record: “video”,
    id: ‘video>id’,
    url: url,
    //editar popup window
    updaterow: function (rowid, rowdata, commit) {
    commit(true);
    }
    };

    //filtrando
    var addfilter = function () {
    var filtergroup = new $.jqx.filter();
    }
    //final filtro

    var dataAdapter = new $.jqx.dataAdapter(source);
    var editrow = -1; //edição
    var self = this;
    var pagerrenderer = function () {
    var element = $(“

    “);
    var datainfo = $(“#jqxgrid”).jqxGrid(‘getdatainformation’);
    var paginginfo = datainfo.paginginformation;

    var leftButton = $(“

    “);
    leftButton.find(‘div’).addClass(‘icon-arrow-left’);
    leftButton.width(36);
    leftButton.jqxButton({ theme: theme });

    var rightButton = $(“

    “);
    rightButton.find(‘div’).addClass(‘icon-arrow-right’);
    rightButton.width(36);
    rightButton.jqxButton({ theme: theme });

    leftButton.appendTo(element);
    rightButton.appendTo(element);

    var label = $(“

    “);
    label.text(“1-” + paginginfo.pagesize + ‘ of ‘ + datainfo.rowscount);
    label.appendTo(element);
    self.label = label;
    // update buttons states.
    var handleStates = function (event, button, className, add) {
    button.on(event, function () {
    if (add == true) {
    button.find(‘div’).addClass(className);
    }
    else button.find(‘div’).removeClass(className);
    });
    }

    if (theme != ”) {
    handleStates(‘mousedown’, rightButton, ‘icon-arrow-right-selected-‘ + theme, true);
    handleStates(‘mouseup’, rightButton, ‘icon-arrow-right-selected-‘ + theme, false);
    handleStates(‘mousedown’, leftButton, ‘icon-arrow-left-selected-‘ + theme, true);
    handleStates(‘mouseup’, leftButton, ‘icon-arrow-left-selected-‘ + theme, false);

    handleStates(‘mouseenter’, rightButton, ‘icon-arrow-right-hover-‘ + theme, true);
    handleStates(‘mouseleave’, rightButton, ‘icon-arrow-right-hover-‘ + theme, false);
    handleStates(‘mouseenter’, leftButton, ‘icon-arrow-left-hover-‘ + theme, true);
    handleStates(‘mouseleave’, leftButton, ‘icon-arrow-left-hover-‘ + theme, false);
    }

    rightButton.click(function () {
    $(“#jqxgrid”).jqxGrid(‘gotonextpage’);
    });

    leftButton.click(function () {
    $(“#jqxgrid”).jqxGrid(‘gotoprevpage’);
    });

    return element;
    }

    $(“#jqxgrid”).on(‘pagechanged’, function () {
    var datainfo = $(“#jqxgrid”).jqxGrid(‘getdatainformation’);
    var paginginfo = datainfo.paginginformation;
    self.label.text(1 + paginginfo.pagenum * paginginfo.pagesize + “-” + Math.min(datainfo.rowscount, (paginginfo.pagenum + 1) * paginginfo.pagesize) + ‘ of ‘ + datainfo.rowscount);
    });

    var cellsrenderer = function (row, columnfield, value, defaulthtml, columnproperties) {
    return ‘Carregar vídeo‘;
    }

    // Create jqxGrid
    $(“#jqxgrid”).jqxGrid(
    {
    width: 950,
    source: dataAdapter,
    editable: true,
    selectionmode: ‘singlecell’,
    editmode: ‘dblclick’,
    theme: theme,
    filterable: true,
    pageable: true,
    autoheight: true,
    pagerrenderer: pagerrenderer,
    columnsresize: true,
    sortable: true,
    ready: function () {
    addfilter();
    },
    autoshowfiltericon: true,
    rowNum: 50,
    columns: [
    { text: ‘Titulo’, columntype: ‘textbox’, datafield: ‘titulo’, width: 250,
    // update the editor’s value before saving it.
    cellvaluechanging: function (row, column, columntype, oldvalue, newvalue) {
    // return the old value, if the new value is empty.
    if (newvalue == “”) return oldvalue;},

    },
    { text: ‘Assunto’, datafield: ‘assunto’, width: 200,
    // update the editor’s value before saving it.
    cellvaluechanging: function (row, column, columntype, oldvalue, newvalue) {
    // return the old value, if the new value is empty.
    if (newvalue == “”) return oldvalue;}
    },
    { text: ‘Palavras’, datafield: ‘palavras’, width: 200,
    // update the editor’s value before saving it.
    cellvaluechanging: function (row, column, columntype, oldvalue, newvalue) {
    // return the old value, if the new value is empty.
    if (newvalue == “”) return oldvalue;}
    },
    { text: ‘Duracao’, datafield: ‘duracao’, width: 50, editable: false },
    { text: ‘Gravacao’, datafield: ‘gravacao’, width: 100, editable: false },
    { text: ‘Link’, datafield: ‘vlink’, width: 150, editable: false, cellsrenderer: cellsrenderer, cellsformat: ‘c2’ }
    ]
    });
    //isto nao funciona
    $(“#jqxgrid”).bind(‘cellbeginedit’, function (event) {
    var args = event.args;
    var columnDataField = args.datafield;
    var rowIndex = args.rowindex;
    var cellValue = args.value;
    });
    $(“#jqxgrid”).bind(‘cellendedit’, function (event) {
    var args = event.args;
    var columnDataField = args.datafield;
    var rowIndex = args.rowindex;
    var cellValue = args.value;
    var oldValue = args.oldvalue;
    });
    //fazer o update
    var selectedrowindex = $(“#jqxgrid”).jqxGrid(‘getselectedrowindex’);
    var rowscount = $(“#jqxgrid”).jqxGrid(‘getdatainformation’).rowscount;
    var id = $(“#jqxgrid”).jqxGrid(‘getrowid’, selectedrowindex);
    var commit = $(“#jqxgrid”).jqxGrid(‘updaterow’, id, datarow);
    alert(selectedrowindex);

    //isto nao funciona fim

    // change the Columns Editable state.
    $(“#titulo, #assunto, #palavras”).on(‘change’, function (event) {
    var datafield = event.target.id;
    $(“#jqxgrid”).jqxGrid(‘setcolumnproperty’, datafield, ‘editable’, event.args.checked);
    });

    //filtro
    $(‘#events’).jqxPanel({ width: 400, height: 100, theme: theme });

    $(“#jqxgrid”).on(“filter”, function (event) {
    $(“#events”).jqxPanel(‘clearcontent’);
    var filterinfo = $(“#jqxgrid”).jqxGrid(‘getfilterinformation’);

    var eventData = “Triggered ‘filter’ event”;
    for (i = 0; i < filterinfo.length; i++) {
    var eventData = "Filter Column: " + filterinfo[i].filtercolumntext;
    $('#events').jqxPanel('prepend', '

    ‘ + eventData + ”);
    }
    });

    $(‘#clearfilteringbutton’).jqxButton({ height: 25, theme: theme });
    $(‘#filterbackground’).jqxCheckBox({ checked: true, height: 25, theme: theme });
    $(‘#filtericons’).jqxCheckBox({ checked: false, height: 25, theme: theme });

    // clear the filtering.
    $(‘#clearfilteringbutton’).click(function () {
    $(“#jqxgrid”).jqxGrid(‘clearfilters’);
    });

    // show/hide filter background
    $(‘#filterbackground’).on(‘change’, function (event) {
    $(“#jqxgrid”).jqxGrid({ showfiltercolumnbackground: event.args.checked });
    });

    // show/hide filter icons
    $(‘#filtericons’).on(‘change’, function (event) {
    $(“#jqxgrid”).jqxGrid({ autoshowfiltericon: !event.args.checked });
    });
    //fim filtro

    });

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