jQWidgets Forums

Forum Replies Created

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

  • Frogomat
    Participant

    Can someone please explain this behavior to me?


    Frogomat
    Participant

    Thanks for your response.

    I have the possibility to cancel the selection of tabs by setting the ‘selecting’ event to ‘event.cancel = true’.

    $(‘#jqxTabs’).on(‘selecting’, function (event) { event.cancel = true; });

    So it is possible to cancel this event to prevent other actions that occour after the event. The selection of a new tab in this case. My hope was that something like this exists for grids and rowselection too.

    Greetings Mario


    Frogomat
    Participant

    Thanks for trying to help me Peter Stoev. The sample you posted works fine for me. But my version of it does not. I’m a little in the dark whats the big difference between these two. Here is the html part.

        <link rel="stylesheet" href="/stylesheets/jqwidgets/jqx.base.css" type="text/css" />
    <script type="text/javascript" src="/jqwidgets/scripts/jquery-1.8.1.min.js"/>
    <script type="text/javascript" src="/jqwidgets/jqwidgets/jqxcore.js"/>
    <script type="text/javascript" src="/jqwidgets/jqwidgets/jqxdata.js"/>
    <script type="text/javascript" src="/jqwidgets/jqwidgets/jqxbuttons.js"/>
    <script type="text/javascript" src="/jqwidgets/jqwidgets/jqxscrollbar.js"/>
    <script type="text/javascript" src="/jqwidgets/jqwidgets/jqxmenu.js"/>
    <script type="text/javascript" src="/jqwidgets/jqwidgets/jqxgrid.js"/>
    <script type="text/javascript" src="/jqwidgets/jqwidgets/jqxgrid.selection.js"/>
    <script type="text/javascript" src="/jqwidgets/jqwidgets/jqxtabs.js"/>
    <script type="text/javascript" src="/jqwidgets/jqwidgets/jqxgrid.pager.js"/>
    <script type="text/javascript" src="/jqwidgets/jqwidgets/jqxlistbox.js"/>
    <script type="text/javascript" src="/jqwidgets/jqwidgets/jqxdropdownlist.js"/>
    <script type="text/javascript" src="/jqwidgets/jqwidgets/jqxgrid.sort.js"/>
    <script type="text/javascript">
    <xsl:call-template name="scripts"/>
    </script>
    <html>
    <head>
    <title>ev@s Track and Tracing</title>
    </head>
    <body>
    <div id='jqxWidget' style="font-size: 13px; font-family: Verdana; float: left;">
    <div id="jqxgrid">
    </div>
    </div>
    </body>
    </html>

    Frogomat
    Participant

    Here is the code so far. no problems in FF or Chrome. IE 8 and 9 not working :(.

    $(document).ready(function () {
    var initSendungsTab = function (id) {
    var dataAdapter = getDataAdapterSendungen(id);
    // Wenn ein bestimmter Status
    var crlieferscheinLink = function (row, columnfield, value, defaulthtml, columnproperties) {
    if (value != ' ' ) {
    return '<span style="margin: 4px; float: ' + columnproperties.cellsalign + '; color: #0000ff;">' + value + '</span>';
    } else {
    return '<span style="margin: 4px; float: ' + columnproperties.cellsalign + '; color: #008000;">' + value + '</span>';
    }
    }
    $("#sendung_"+id).jqxGrid(
    {
    width: 600,
    height: 560,
    theme: theme,
    // pageable: true,
    pagesizeoptions: ['5', '10', '20'],
    autoheight: true,
    sortable: true,
    source: dataAdapter,
    columns: [
    { text: 'SendungsId', datafield: 'nr', width: 100, cellsrenderer: crlieferscheinLink },
    { text: 'Gewicht[kg]', datafield: 'gewicht', width: 100 },
    { text: 'Datum/Uhrzeit', datafield: 'amUm', width: 160 },
    { text: 'Status', datafield: 'statusBezeichung', width: 100 }
    ]
    });
    }
    var initStatusHistorieTab = function (id) {
    var dataAdapter = getDataAdapterStatus(id);
    $(("#statusHistorie_"+id)).jqxGrid(
    {
    width: 600,
    height: 560,
    source: dataAdapter,
    theme: theme,
    // pageable: true,
    pagesizeoptions: ['5', '10', '20'],
    autoheight: true,
    sortable: true,
    columns: [
    { text: 'Code', datafield: 'statusCode', width: 100 },
    { text: 'Bezeichung', datafield: 'statusText', width: 100 },
    { text: 'Datum/Uhrzeit', datafield: 'statusGueltigAbAmUm', width: 160 }
    ]
    });
    }
    var initAuftragsRowDetails = function (index, parentElement, gridElement, record) {
    var id = record.uid.toString();
    var grid = $($(parentElement).children()[0]);
    tmpRecord = record;
    grid.append($("<div id='sendung_"+record['id']+"' ></div>"));
    grid.append($("<div id='statusHistorie_"+record['id']+"' ></div>"));
    grid.jqxTabs({autoHeight: true, theme: theme });
    grid.jqxTabs({initTabContent: function (tab) {
    switch (tab) {
    case 0:
    initSendungsTab(record['id']);
    break;
    case 1:
    initStatusHistorieTab(record['id']);
    break;
    }
    }});
    }
    $("#jqxgrid").jqxGrid(
    {
    width: 1180,
    height: 200,
    source: dataAdapterAuftraege,
    pageable: true,
    pagesizeoptions: ['10', '25', '50', '100'],
    pagesize: 25,
    autoheight: true,
    sortable: true,
    theme: theme,
    rowdetails: true,
    rowdetailstemplate: {
    rowdetails: "<div style='margin: 10px;'><ul style='margin-left: 30px;'><li>Sendungen</li><li>Statushistorie</li></ul></div>"
    ,autoheight: true},
    initrowdetails: initAuftragsRowDetails,
    columns: [
    { text: 'LD-Ref.', datafield: 'ldref', width: 100 },
    { text: 'BT-KD.NR.', datafield: 'empfaengerNr', width: 100 },
    { text: 'BT-Ref.', datafield: 'empfaengerRef', width: 100 },
    { text: 'BT-Kd.-Ref', datafield: 'kundenRef', width: 200 },
    { text: 'TDL', datafield: 'tdl', width: 100 },
    { text: 'Strasse', datafield: 'strasse', width: 150 },
    { text: 'PLZ', datafield: 'plz', width: 50 },
    { text: 'Ort', datafield: 'ort', width: 100 },
    { text: 'LandCode', datafield: 'landCode', width: 100 },
    { text: 'Gewicht[kg]', datafield: 'gewicht', width: 50 },
    { text: 'Sendungen', datafield: 'anzahlSendungen', width: 100 }]
    });
    });

    Frogomat
    Participant

    I researched a bit. This is the code gernerated in IE8 and below that, the code from Firefox. In the IE 8 the margin-top of jqx-tabs-titleContentWrapper is set to -12 and the surrounding jqx-reset is set to a height of 4px. In Firefox the height is set to 16 and the margin-top is 0px.

    <LI style="POSITION: static; FLOAT: left; HEIGHT: 4px" class="jqx-reset jqx-disableselect jqx-tabs-title jqx-item jqx-rc-t jqx-tabs-title-selected-top jqx-fill-state-pressed" jQuery17204034568277627916="105">
    <DIV style="Z-INDEX: 15; POSITION: relative; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: medium; HEIGHT: 100%" class=jqx-tabs-titleWrapper>
    <DIV style="MARGIN-TOP: -12px; FLOAT: left" class="jqx-tabs-titleContentWrapper jqx-disableselect">Sendungen</DIV>
    <DIV style="MARGIN-TOP: -11px; WIDTH: 16px; DISPLAY: none; FLOAT: left; HEIGHT: 16px; FONT-SIZE: 1px" class=jqx-tabs-close-button jQuery17204034568277627916="106"></DIV></DIV></LI>
    <LI style="POSITION: static; FLOAT: left; HEIGHT: 4px" class="jqx-reset jqx-disableselect jqx-tabs-title jqx-item jqx-rc-t" jQuery17204034568277627916="103">
    <DIV style="Z-INDEX: 15; POSITION: relative; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: medium; HEIGHT: 100%" class=jqx-tabs-titleWrapper>
    <DIV style="MARGIN-TOP: -12px; FLOAT: left" class="jqx-tabs-titleContentWrapper jqx-disableselect">Statushistorie</DIV>
    <DIV style="MARGIN-TOP: -11px; WIDTH: 16px; DISPLAY: none; FLOAT: left; HEIGHT: 16px; FONT-SIZE: 1px" class=jqx-tabs-close-button jQuery17204034568277627916="104"></DIV></DIV></LI>
    <li style="float: left; position: static; height: 16px;" class="jqx-reset jqx-disableselect jqx-tabs-title jqx-item jqx-rc-t jqx-tabs-title-selected-top jqx-fill-state-pressed"><div class="jqx-tabs-titleWrapper" style="outline: medium none; position: relative; z-index: 15; height: 100%;"><div style="float: left; margin-top: 0px;" class="jqx-tabs-titleContentWrapper jqx-disableselect">Sendungen</div><div style="height: 16px; width: 16px; float: left; font-size: 1px; display: none; margin-top: 1px;" class="jqx-tabs-close-button"></div></div></li><li style="float: left; position: static; height: 16px;" class="jqx-reset jqx-disableselect jqx-tabs-title jqx-item jqx-rc-t"><div class="jqx-tabs-titleWrapper" style="outline: medium none; position: relative; z-index: 15; height: 100%;"><div style="float: left; margin-top: 0px;" class="jqx-tabs-titleContentWrapper jqx-disableselect">Statushistorie</div><div style="height: 16px; width: 16px; float: left; font-size: 1px; display: none; margin-top: 1px;" class="jqx-tabs-close-button"></div></div></li>

    Frogomat
    Participant

    Here is the codepart that is used for the tabcreation. The tabs are displayed in the rowdetails within a grid.

    var initAuftragsRowDetails = function (index, parentElement, gridElement, record) {

                    var id = record.uid.toString();
    var grid = $($(parentElement).children()[0]);
    tmpRecord = record;
    grid.append($("<div id='sendung_"+record['id']+"' ></div>"));
    grid.append($("<div id='statusHistorie_"+record['id']+"' ></div>"));
    grid.jqxTabs({ autoHeight: true, theme: theme });
    grid.jqxTabs({initTabContent: function (tab) {
    switch (tab) {
    case 0:
    initSendungsTab(record['id']);
    break;
    case 1:
    initStatusHistorieTab(record['id']);
    break;
    }
    }});
    }
    $("#jqxgrid").jqxGrid(
    {
    width: 1180,
    height: 200,
    source: dataAdapterAuftraege,
    pageable: true,
    pagesizeoptions: ['10', '25', '50', '100'],
    pagesize: 25,
    autoheight: true,
    sortable: true,
    theme: theme,
    rowdetails: true,
    rowdetailstemplate: {
    rowdetails: "<div style='margin: 10px;'><ul style='margin-left: 30px;'><li>Sendungen</li><li>Statushistorie</li></ul></div>"
    },
    initrowdetails: initAuftragsRowDetails,
    columns: [
    { text: 'LD-Ref.', datafield: 'ldref', width: 100 },
    { text: 'BT-KD.NR.', datafield: 'empfaengerNr', width: 100 },
    { text: 'BT-Ref.', datafield: 'empfaengerRef', width: 100 },
    { text: 'BT-Kd.-Ref', datafield: 'kundenRef', width: 200 },
    { text: 'TDL', datafield: 'tdl', width: 100 },
    { text: 'Strasse', datafield: 'strasse', width: 150 },
    { text: 'PLZ', datafield: 'plz', width: 50 },
    { text: 'Ort', datafield: 'ort', width: 100 },
    { text: 'LandCode', datafield: 'landCode', width: 100 },
    { text: 'Gewicht[kg]', datafield: 'gewicht', width: 50 },
    { text: 'Sendungen', datafield: 'anzahlSendungen', width: 100 }]
    });
    in reply to: A Grid in a Tab A Grid in a Tab #9256

    Frogomat
    Participant

    I will do that. Thank you.

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