﻿function jDatatable(pDataTable)
{
    var retornoNaja;
    var dataTable;

    var filterData = new Array(); 
    
    this.addFilter = function(pJFiltro)
    {
        if(filterData==null){};
        filterData.push(pJFiltro);
    };
    
    this.clearFilters = function()
    {
        filterData = new Array();         
    };    
    
    this.delFilter = function(pNomeFiltro)
    {
        for(var i=0;i<filterData.length;i++)
        {
            if(filterData[i].Nome==pNomeFiltro){
                filterData.pop(i);
                break;
            };        
        };
    };
    
    this.filter = function(pNomeCampo, pOnOff, pNomeFiltro)
    {
        var tempDatatable;
        for(var i = 0; i < filterData.length; i++)
        {
            if(filterData[i].Nome==pNomeFiltro){
                dataTable.filter(filterData[i].Campo,filterData[i].ValorDe, filterMode.equals, caseType.CSAS);
            };            
        };
    };
    
    this.sort = function(pColuna, pReverse)
    {
        dataTable.sort(pColuna, pReverse);
    };
    
    this.getTotRegs = function()
    {
        return dataTable.rows.length;    
    };
    
    this.getDrValue = function(pNumRow,pNomeCampo)
    {
        var retorno = "";
        
        try
        {
            retorno = dataTable.rows[pNumRow][pNomeCampo].toString();
        }
        catch(Error)
        {
            retorno = "";
        };
        return retorno;
    };

    this.getDrValueAsDecimal = function(pNumRow,pNomeCampo)
    {
        return dataTable.rows[pNumRow][pNomeCampo].toString("0.00");
    };
    
    this.getIterator = function(pColuna)
    {
        return dataTable.getIterator(pColuna);        
    };
    
    this.constructor = new function()
    {
        dataTable = pDataTable;
    };
};
