Fill table and add rows according to Json result

0

I'm trying to fill a table that automatically generates the number of rows as a result of Json , I can make Json work, it brings all the values I need, however, when updating the table with this information, the fields are populated with the last value only.

  

Example: array[1; 2; 3] ,

     

Fields: Field = 3 , field2 = 3 , field3 = 3 .

I think he's updating every field every time he goes through the routine. What I want is for it to bring the values of Json into each created field, each time a value is placed it passes to the next one and only updates the next created field.

The code looks like this:

$(document).ready(function () {

    $('inp:matricula').blur(function () {
        var IdAluno = $('inp:matricula').val();

        $.getJSON("..JsonAprEst.aspx?inpMatricula=" + IdAluno, function (data) {
            var items = data.rows;
            if (items.length > 0) {
                $.each(items, function (i, row) {
                    InsertNewRow($('table#TabelaDisciplinas button#BtnInsertNewRow')[0], true);
                    var vDisciplina = $("inp:disciplina");//.closest("tr").find("input[xname='inpdisciplina']");
                    vDisciplina.val(row.Disciplina);
                    console.log(vDisciplina);
                });
            }
        });
    });
});

The following is the% used%:

<%@ Page Language="C#" ContentType="application/json" Debug="true" %>
<%

    Response.Charset = "iso-8859-1";

    StringBuilder json = new StringBuilder();
    json.Append("{");

    string parametroPrincipal = Request["inpMatricula"];

    if (string.IsNullOrEmpty(parametroPrincipal))
    {
        json.AppendFormat("\"{0}\" : {1},", "success", "false");
        json.AppendFormat("\"{0}\" : \"{1}\",", "error", "Parâmetro principal não foi passado ou está vazio.");
    }
    else
    {
        json.AppendFormat("\"{0}\" : {1},", "success", "true");

        // tratar o parametro parametroPrincipal
        if (parametroPrincipal.IndexOf("'") != -1)
        {
            parametroPrincipal = parametroPrincipal.Replace("'", "''");
        }

        parametroPrincipal = System.Web.HttpContext.Current.Server.UrlDecode(parametroPrincipal);
    }

    // INICIO BLOCO CORPO JSON
    if (!string.IsNullOrEmpty(parametroPrincipal))
    {
        // cria os objetos de banco de dados
        System.Data.Common.DbProviderFactory dbFactory = null;
        System.Data.Common.DbConnection dbConnection;
        System.Data.Common.DbCommand dbCommand;
        System.Data.Common.DbParameter dbParameter;
        System.Data.Common.DbDataReader dbDataReader;
        System.Data.DataTable table;

        string connectionString = "Data Source=10.2.100.161;User ID=Cadsoftread; Password=Cadsoft$Uva; Initial Catalog=Universus_UVA";

        // SQL SERVER
        dbFactory = System.Data.SqlClient.SqlClientFactory.Instance;

        dbConnection = dbFactory.CreateConnection();
        dbConnection.ConnectionString = connectionString;

        // abre conexao
        dbConnection.Open();

        // Consulta sql a ser executada

        string sql;

        // sql = "SELECT CodAluno, CodAlunoEscola ";
        // sql += "FROM Aluno WITH (NOLOCK) "; 
        // sql += "WHERE CodAlunoEscola = @Matricula";

        sql = "select  ";
        sql += "    ESCOLA.CODESCOLA,  ";
        sql += "    ALUNO.CODALUNO,  ";
        sql += "    CURSO.CODCURSO,  ";
        sql += "    CAMPUS.CODCAMPUS,  ";
        sql += "    CURRICULO.CODCURRICULO, ";  
        sql += "    escola.nome as Escola, ";
        sql += "    aluno.codaluno, ";
        sql += "    aluno.CODALUNOESCOLA as Matricula, ";
        sql += "    pessoa.nome as Aluno, ";
        sql += "    campus.nome as Campus, ";
        sql += "    pessoa.email as Email, ";
        //sql += "    pessoa.telefone as Telefone";
        sql += "    curriculo.descurriculo as Curriculo, ";
        sql += "    curso.nome as Curso, ";
        sql += "    turno.nome as Turno, ";
        sql += "    Aluno_CargaHoraria.TotalExigido, ";
        sql += "    Aluno_CargaHoraria.MediaAluno, ";
        sql += "    Aluno_CargaHoraria.ETAPANATURAL ";
        sql += "    , convert(numeric, substring(Aluno_CargaHoraria.TotalExigido, 1, charindex(':', Aluno_CargaHoraria.TotalExigido) - 1)) as CH_TotalExigida ";
        sql += "    , (case  ";
        sql += "        when convert(numeric, substring(Aluno_CargaHoraria.ChAtivCompCursada, 1, charindex(':', Aluno_CargaHoraria.ChAtivCompCursada) - 1)) > convert(numeric, substring(Aluno_CargaHoraria.CHAtvCompExigObr, 1, charindex(':', Aluno_CargaHoraria.CHAtvCompExigObr) - 1)) then convert(numeric, substring(Aluno_CargaHoraria.CHAtvCompExigObr, 1, charindex(':', Aluno_CargaHoraria.CHAtvCompExigObr) - 1))  ";
        sql += "        else convert(numeric, substring(Aluno_CargaHoraria.ChAtivCompCursada, 1, charindex(':', Aluno_CargaHoraria.ChAtivCompCursada) - 1)) ";
        sql += "     end) +  ";
        sql += "     (case  ";
        sql += "        when convert(numeric, substring(Aluno_CargaHoraria.ChOptExtraCursada, 1, charindex(':', Aluno_CargaHoraria.ChOptExtraCursada) - 1)) > convert(numeric, substring(Aluno_CargaHoraria.CHOptExigObr, 1, charindex(':', Aluno_CargaHoraria.CHOptExigObr) - 1)) then convert(numeric, substring(Aluno_CargaHoraria.CHOptExigObr, 1, charindex(':', Aluno_CargaHoraria.CHOptExigObr) - 1))  ";
        sql += "        else convert(numeric, substring(Aluno_CargaHoraria.ChOptExtraCursada, 1, charindex(':', Aluno_CargaHoraria.ChOptExtraCursada) - 1)) ";
        sql += "     end) + convert(numeric, substring(Aluno_CargaHoraria.CHObrigatCursada, 1, charindex(':', Aluno_CargaHoraria.CHObrigatCursada) - 1)) as CH_TotalCursada ";
        sql += "    , convert(numeric, substring(Aluno_CargaHoraria.CHTotalExigObr, 1, charindex(':', Aluno_CargaHoraria.CHTotalExigObr) - 1)) as CH_ObrigatoriaExigida ";
        sql += "    , convert(numeric, substring(Aluno_CargaHoraria.CHObrigatCursada, 1, charindex(':', Aluno_CargaHoraria.CHObrigatCursada) - 1)) as CH_ObrigatoriaCursada ";
        sql += "    , convert(numeric, substring(Aluno_CargaHoraria.CHAtvCompExigObr, 1, charindex(':', Aluno_CargaHoraria.CHAtvCompExigObr) - 1)) as CH_AtivComplementarExigida ";
        sql += "    , convert(numeric, substring(Aluno_CargaHoraria.ChAtivCompCursada, 1, charindex(':', Aluno_CargaHoraria.ChAtivCompCursada) - 1)) as CH_AtivComplementarCusada ";
        sql += "    , convert(numeric, substring(Aluno_CargaHoraria.CHOptExigObr, 1, charindex(':', Aluno_CargaHoraria.CHOptExigObr) - 1)) as CH_OptativaExigida ";
        sql += "    , convert(numeric, substring(Aluno_CargaHoraria.ChOptExtraCursada, 1, charindex(':', Aluno_CargaHoraria.ChOptExtraCursada) - 1)) as CH_OptativaCursada ";
        sql += "    , convert(numeric, substring(Aluno_CargaHoraria.CHoptCursando, 1, charindex(':', Aluno_CargaHoraria.CHoptCursando) - 1)) as CH_OptativaCursando ";
        sql += "    , convert(numeric, substring(Aluno_CargaHoraria.CHobrCursando, 1, charindex(':', Aluno_CargaHoraria.CHobrCursando) - 1)) as CH_ObrigatoriaCursando ";
        sql += "    , Aluno_CargaHoraria.QtdCreditoCursado as CreditosCursados ";
        sql += "    , Aluno_CargaHoraria.QtdCreditoCursando as CreditosCursando ";
        sql += "    , convert(numeric(9,2),(((case  ";
        sql += "        when convert(numeric, substring(Aluno_CargaHoraria.ChAtivCompCursada, 1, charindex(':', Aluno_CargaHoraria.ChAtivCompCursada) - 1)) > convert(numeric, substring(Aluno_CargaHoraria.CHAtvCompExigObr, 1, charindex(':', Aluno_CargaHoraria.CHAtvCompExigObr) - 1)) then convert(numeric, substring(Aluno_CargaHoraria.CHAtvCompExigObr, 1, charindex(':', Aluno_CargaHoraria.CHAtvCompExigObr) - 1))  ";
        sql += "        else convert(numeric, substring(Aluno_CargaHoraria.ChAtivCompCursada, 1, charindex(':', Aluno_CargaHoraria.ChAtivCompCursada) - 1)) ";
        sql += "     end) +  ";
        sql += "     (case  ";
        sql += "        when convert(numeric, substring(Aluno_CargaHoraria.ChOptExtraCursada, 1, charindex(':', Aluno_CargaHoraria.ChOptExtraCursada) - 1)) > convert(numeric, substring(Aluno_CargaHoraria.CHOptExigObr, 1, charindex(':', Aluno_CargaHoraria.CHOptExigObr) - 1)) then convert(numeric, substring(Aluno_CargaHoraria.CHOptExigObr, 1, charindex(':', Aluno_CargaHoraria.CHOptExigObr) - 1))  ";
        sql += "        else convert(numeric, substring(Aluno_CargaHoraria.ChOptExtraCursada, 1, charindex(':', Aluno_CargaHoraria.ChOptExtraCursada) - 1)) ";
        sql += "     end) + convert(numeric, substring(Aluno_CargaHoraria.CHObrigatCursada, 1, charindex(':', Aluno_CargaHoraria.CHObrigatCursada) - 1))) / convert(numeric, substring(Aluno_CargaHoraria.TotalExigido, 1, charindex(':', Aluno_CargaHoraria.TotalExigido) - 1))) * 100) as PercentualCursado ";
        sql += "from aluno with(nolock) ";
        sql += "inner join pessoa with(nolock) ";
        sql += "    on pessoa.codpessoa = aluno.codpessoa ";
        sql += "inner join escola with(nolock) ";
        sql += "    on escola.codescola = aluno.codescola ";
        sql += "    and escola.codescola = aluno.codescola ";
        sql += "inner join ALUCURRICULO with(nolock) ";
        sql += "    on ALUCURRICULO.codescola = aluno.codescola ";
        sql += "    and ALUCURRICULO.codaluno = aluno.codaluno ";
        sql += "inner join campus with(nolock) ";
        sql += "    on campus.codescola = alucurriculo.codescola ";
        sql += "    and campus.codcampus = alucurriculo.codcampus ";
        sql += "inner join mudstacur with(nolock) ";
        sql += "    on mudstacur.CODESCOLA = ALUCURRICULO.CODESCOLA ";
        sql += "    and mudstacur.codaluno = ALUCURRICULO.CODALUNO ";
        sql += "    and mudstacur.CODCURRICULO = ALUCURRICULO.CODCURRICULO ";
        sql += "    and MUDSTACUR.CODMUDSTACUR = (select max(X.CodMudstacur) from MUDSTACUR as X with(nolock) ";
        sql += "                                    where mudstacur.CODESCOLA = X.CODESCOLA ";
        sql += "                                    and mudstacur.codaluno = X.CODALUNO) ";
        sql += "inner join CURRICULO with(nolock) ";
        sql += "    on ALUCURRICULO.codescola = CURRICULO.codescola ";
        sql += "    and ALUCURRICULO.codCURRICULO = CURRICULO.codCURRICULO ";
        sql += "inner join turno with(nolock) ";
        sql += "    on turno.codturno = curriculo.codturno ";
        sql += "inner join CURSO with(nolock) ";
        sql += "    on CURSO.codescola = CURRICULO.codescola ";
        sql += "    and CURSO.CODCURSO = CURRICULO.CODCURSO ";
        sql += "inner join Aluno_CargaHoraria with(nolock) ";
        sql += "    on Aluno_CargaHoraria.Codescola = aluno.CODESCOLA ";
        sql += "    and Aluno_CargaHoraria.CodAluno = aluno.CODALUNO ";
        sql += "    and Aluno_CargaHoraria.CodCurriculo = ALUCURRICULO.CODCURRICULO  ";
        sql += "inner join CONFIGGERAL with(nolock) ";
        sql += "    on CONFIGGERAL.ANOPADRAO = Aluno_CargaHoraria.ANO ";
        sql += "    and CONFIGGERAL.REGIMEPADRAO = Aluno_CargaHoraria.REGIME ";
        sql += "    and CONFIGGERAL.PERIODOPADRAO = Aluno_CargaHoraria.PERIODO ";
        sql += "WHERE CodAlunoEscola = @Matricula ";


        // criar comando sql
        dbCommand = dbFactory.CreateCommand();
        dbCommand.Connection = dbConnection;
        dbCommand.CommandText = sql;
        dbCommand.CommandType = System.Data.CommandType.Text;

        // criar parametro
        dbParameter = dbFactory.CreateParameter();
        dbParameter.DbType = System.Data.DbType.String;
        dbParameter.ParameterName = "@Matricula";
        dbParameter.Value = parametroPrincipal;

        // adiciona parametro ao comando
        dbCommand.Parameters.Add(dbParameter);

        dbDataReader = dbCommand.ExecuteReader();

        table = new System.Data.DataTable();
        table.Load(dbDataReader);

        json.AppendFormat("\"{0}\" : {1}", "rows", "[");

        // percorre linhas e colunas de forma generica
        // permite criar o JSON para qualquer query
        for (int i = 0; i < table.Rows.Count; i++)
        {
            json.Append("{");

            for (int j = 0; j < table.Columns.Count; j++)
            {
                json.AppendFormat("\"{0}\" : \"{1}\"{2}", table.Columns[j].ColumnName, table.Rows[i][j].ToString(), ((j < table.Columns.Count-1) ? "," : "" ));
            } // end for j

            json.Append("}");

            if (i < table.Rows.Count-1)
            {
                json.Append(",");
            }

        } // end for i

        json.Append("]");

        // liberar objetos da memoria
        table.Dispose();
        dbDataReader.Close();
        dbDataReader.Dispose();

        // fechar conexao
        dbConnection.Close();
        dbConnection.Dispose();

    } // end if
    // FIM BLOCO CORPO JSON

    json.Append("}");

    Response.Write(json.ToString());

%>
    
asked by anonymous 07.12.2016 / 17:19

1 answer

0

In cases where I need to create a table dynamically using a JSON, I usually use the JQuery DataTables plugin. Here's a sample link to what you want: link . More specific example: .

    
07.12.2016 / 17:49