jQWidgets Forums

Forum Replies Created

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

  • mkdodos
    Participant

    Hi,

    A complete sample is sent.
    Please help me to solve the problem.

    Thanks,
    Mark


    mkdodos
    Participant

    Hi,

    The code below which use jQWidgets 2.7.0.

    Thanks,
    Mark

    $(function() {
    var theme = getTheme();
    var theme3 = getTheme3();
    /*主表*/
    var url = “../data/account_data.php”;
    var source =
    {
    datatype: ‘json’,
    datafields: [
    {name: ‘acc_id’},
    {name: ‘acc_name’},
    {name: ‘asset_name’},
    {name: ‘in_year’},
    {name: ‘in_month’},
    {name: ‘amt’},
    {name: ‘amt_ym’},
    {name: ‘amt_m’, type: ‘number’},
    // {name: ‘ym’},
    {name: ‘use_years’},
    {name: ‘limit_ym’}

    ],
    url: url + “?op=select_fixed_asset”,
    id: ‘id’,
    cache: false,
    pagesize: 20
    };
    var dataAdapter = new $.jqx.dataAdapter(source);
    /*計算出的累計折舊金額,最多為固定資產價值*/
    var cellsrenderer = function(row, columnfield, value, defaulthtml, columnproperties) {
    var dataRecord = $(‘#jqxgrid’).jqxGrid(‘getrowdata’, row);
    var color = ‘#000000’;
    if (value * 1 >= dataRecord.amt) {
    value = dataRecord.amt;
    color = ‘#008000’;
    }
    return ‘‘ + value + ‘‘;

    }

    //群組
    var toThemeProperty = function(className) {
    return className + ” ” + className + “-” + theme;
    }

    var groupsrenderer = function(text, group, expanded, data) {
    if (data.groupcolumn.datafield == ‘acc_name’) {

    var text = group;
    if (data.subItems.length > 0) {
    var aggregate = this.getcolumnaggregateddata(‘amt_m’, [‘sum’], true, data.subItems);
    }
    else {
    var rows = new Array();
    var getRows = function(group, rows) {
    if (group.subGroups.length > 0) {
    for (var i = 0; i < group.subGroups.length; i++) {
    getRows(group.subGroups[i], rows);
    }
    }
    else {
    for (var i = 0; i < group.subItems.length; i++) {
    rows.push(group.subItems[i]);
    }
    }
    }
    getRows(data, rows);
    var aggregate = this.getcolumnaggregateddata(data.groupcolumn.datafield, ['sum'], true, rows);
    }
    // return "ddd";
    return '

    ‘ + text + ‘‘ + ‘‘ + ‘ $’ + aggregate.sum + ‘‘;
    }
    else {
    return ‘

    ‘ + text + ‘‘;
    }
    }

    $(‘#jqxgrid’).jqxGrid(
    {
    width: 1050,
    rowsheight: 30,
    autoheight: true,
    filterable: true,
    groupable: true,
    groupsrenderer: groupsrenderer,
    showgroupsheader: false,
    pageable: true,
    showaggregates: true,
    showstatusbar: true,
    editable: true,
    source: dataAdapter,
    theme: theme,
    columns: [
    {text: ‘使用年限’, datafield: ‘limit_ym’, width: 150, hidden: true},
    {text: ‘科目名稱’, datafield: ‘acc_name’,width:’100′},
    {text: ‘月折舊’, datafield: ‘amt_m’,width:’100′,
    aggregates: [‘sum’],
    aggregatesrenderer: function(aggregates, column, element, summaryData) {
    var renderstring = “

    “;
    $.each(aggregates, function(key, value) {
    renderstring += ‘

    合計:’ + value + ‘

    ‘;
    });
    renderstring += “

    “;
    return renderstring;
    }
    }
    ]
    })

    //查詢
    $(“#btn_filter”).jqxButton({width: ‘100’, theme: theme});
    $(‘#btn_filter’).click(function() {

    if ($(‘#qry_in_year’).val() != ”) {
    var filtergroup = new $.jqx.filter();
    var filtervalue = $(‘#qry_in_year’).val();
    var filtercondition = ‘equal’;
    var filter = filtergroup.createfilter(‘stringfilter’, filtervalue, filtercondition);
    var filter_or_operator = 0;
    filtergroup.addfilter(filter_or_operator, filter);
    $(‘#jqxgrid’).jqxGrid(‘addfilter’, ‘in_year’, filtergroup);
    } else {
    $(‘#jqxgrid’).jqxGrid(‘removefilter’, ‘in_year’);
    }

    if ($(‘#qry_in_month’).val() != ”) {
    var filtergroup = new $.jqx.filter();
    var filtervalue = $(‘#qry_in_month’).val();
    var filtercondition = ‘equal’;
    var filter = filtergroup.createfilter(‘stringfilter’, filtervalue, filtercondition);
    var filter_or_operator = 0;
    filtergroup.addfilter(filter_or_operator, filter);
    $(‘#jqxgrid’).jqxGrid(‘addfilter’, ‘in_month’, filtergroup);
    } else {
    $(‘#jqxgrid’).jqxGrid(‘removefilter’, ‘in_month’);
    }

    if ($(‘#qry_asset_name’).val() != ”) {
    var filtergroup = new $.jqx.filter();
    var filtervalue = $(‘#qry_asset_name’).val();
    var filtercondition = ‘contains’;
    var filter = filtergroup.createfilter(‘stringfilter’, filtervalue, filtercondition);
    var filter_or_operator = 0;
    filtergroup.addfilter(filter_or_operator, filter);
    $(‘#jqxgrid’).jqxGrid(‘addfilter’, ‘asset_name’, filtergroup);
    } else {
    $(‘#jqxgrid’).jqxGrid(‘removefilter’, ‘asset_name’);
    }

    $(‘#jqxgrid’).jqxGrid(‘applyfilters’);

    })

    $(“#btn_filter_5”).jqxButton({width: ‘100’, theme: theme});
    $(‘#btn_filter_5’).click(function() {
    var filtergroup = new $.jqx.filter();
    var date = new Date();

    var filtervalue = ($(‘#qry_in_year’).val() * 12) + ($(‘#qry_in_month’).val() * 1);

    var filtercondition = ‘GREATER_THAN’;

    var filter = filtergroup.createfilter(‘numericfilter’, filtervalue, filtercondition);
    var filter_or_operator = 0;
    filtergroup.addfilter(filter_or_operator, filter);
    $(‘#jqxgrid’).jqxGrid(‘addfilter’, ‘limit_ym’, filtergroup);
    $(‘#jqxgrid’).jqxGrid(‘applyfilters’);
    })

    //清除查詢
    $(“#btn_clear_filter”).jqxButton({width: ‘100’, theme: theme});
    $(‘#btn_clear_filter’).click(function() {
    $(‘#jqxgrid’).jqxGrid(‘clearfilters’);

    })

    //預設年月
    var date = new Date();
    $(‘#qry_in_year’).val(date.getFullYear() – 1911);
    $(‘#qry_in_month’).val(date.getMonth() + 1);

    //按一下做群組,再按一下解除群組
    $(“#btn_group_acc_name”).jqxButton({width: ‘100’, theme: theme});
    $(‘#btn_group_acc_name’).click(function() {
    //判斷是否已群組,決定做群組的動作或解除群組
    var groups = $(‘#jqxgrid’).jqxGrid(‘getrootgroupscount’);
    if (groups == 0){
    $(‘#btn_group_acc_name’).val(‘解除群組’);
    $(‘#jqxgrid’).jqxGrid(‘addgroup’, ‘acc_name’);
    }
    else{
    $(‘#jqxgrid’).jqxGrid(‘removegroup’, ‘acc_name’);
    $(‘#btn_group_acc_name’).val(‘科目群組’);
    }
    })

    })



    設備名稱

    in reply to: arrange window arrange window #21328

    mkdodos
    Participant

    Hi Peter,

    Please see the screencast http://youtu.be/Bnk0TFq4Ug8 and the code below.

    Thanks,
    Mark

    $(‘#jqxWindow’).jqxWindow({
    width: 600, height: 500,
    autoOpen: false, theme: theme, resizable: false
    });

    $(‘#jqxWindow2’).jqxWindow({
    width: 850, height: 500,
    autoOpen: false, theme: theme, resizable: false
    });

    $(‘#jqxgrid’).bind(‘cellclick’, function(event) {
    if (column.text == ‘size’) {
    $(‘#jqxWindow’).jqxWindow(“open”);

    }
    })

    $(‘#jqxgrid_arrdone’).bind(‘cellclick’, function(event) {
    if (column.text == ‘done_size’) {
    $(‘#jqxWindow’).jqxWindow(“open”);
    }
    })

    in reply to: nestedgrid nestedgrid #20750

    mkdodos
    Participant

    Hi Dimitar,

    in the demos/jqxgrid/nestedgrids.htm
    how to rewrite the code to virtual paging?

    Thanks,
    Mark

    in reply to: set other cellvalue set other cellvalue #15581

    mkdodos
    Participant

    Hi Peter,

    Thanks for the help.
    In this case,how to get cell C value in cellendedit event?

    Best Regards,
    Mark

    in reply to: masterdetails masterdetails #14479

    mkdodos
    Participant

    Hi Peter ,

    I found it.
    Thanks for the quick response.

    Best Regards,
    Mark

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