Row.Cell is coming empty

0

I made a button to inactivate several people in a gridview , the first time the process is right, when you refresh the page, Row.Cell always comes empty, does not recognize the selected ones to inactivate.

Code:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace ProjetoModelo.ADCCTA
{
    public partial class ConsultarAluno : System.Web.UI.Page
    {
        public static void verificarConexao()
        {
            System.Web.UI.Page aux = new System.Web.UI.Page();

            try
            {
                if (aux.Session["cpf"].ToString().Equals(""))
                {
                    aux.ClientScript.RegisterStartupScript(aux.GetType(), "Load", "<script type='text/javascript'>window.top.location.href = 'Login.aspx'; </script>");
                }
                return;
            }
            catch
            {
                //aux.Server.Transfer("Finalizar.aspx");
            }
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            verificarConexao();
            Config.VerificaSessao();
            MultiView1.SetActiveView(View1);

            if (Session["rptAluno"] != null)
            {
                //CrystalReportViewer1.ReportSource = (ConsultarAlunoRpt)Session["rptAluno"];
                //CrystalReportViewer1.DataBind();
            }
        }

        protected void lnkBtnPesquisar_Click(object sender, EventArgs e)
        {
            string Titulo = tbTitulo.Text;
            string nome = tbNome.Text;
            string cpf = tbCpf.Text;
            string modalidade = ddlModalidade.SelectedValue;
            string turma = ddlTurma.SelectedValue;
            string idadeInicial = tbIdadeInicio.Text;
            string idadeFinal = tbIdadeFim.Text;
            string inativo = rdbAtivo.SelectedValue;
            string tipoAluno = ddlTipoAluno.SelectedValue;

            DataView dataView = GetAluno(Titulo, nome, cpf, turma, modalidade, idadeInicial, idadeFinal, inativo, tipoAluno);

            if ((ddlModalidade.SelectedItem.Text != "TODAS") || (ddlTurma.SelectedItem.Text != "TODAS"))
            {
                if (ddlModalidade.SelectedItem.Text != "TODAS")
                {
                    Session["AlunoFiltroRpt"] = " - " + ddlModalidade.SelectedItem.Text;
                }
                if (ddlTurma.SelectedItem.Text != "TODAS")
                {
                    Session["AlunoFiltroRpt"] += "-" + ddlTurma.SelectedItem.Text;
                }
            }//montar filtro para relatorio
            else
            {
                Session["AlunoFiltroRpt"] = "";
            }


            if (dataView.Count > 0)
            {
                btnExcel.Visible = true;
            }
            else
            {
                btnExcel.Visible = false;
            }

            GridView3.Visible = true;
            GridView3.DataSource = dataView;
            Session["dvAluno"] = dataView;
            GridView3.DataBind();
            GridView3.Columns[1].Visible = false;
            btn_Gerar.Visible = false;
            lbTotalAlunos.Visible = true;
            lbTotalAlunos.Text = string.Format("TOTAL : {0}", dataView.Count != 0 ? dataView.Count : 0);
        }

        private DataView GetAluno(string codigoAluno, string nome, string cpf, string turma, string modalidade, string idadeInicial, string idadeFinal, string inativo, string tipoAluno)
        {
            string select = @"{0}SELECT alunosAcademia.idAluno AS [ID], alunosAcademia.Nome AS [ALUNO], cadastroModalidades.cod AS [CODIGO MODALIDADE], 
            cadastroModalidades.nome AS [MODALIDADE], cadastroTurmaAcademia.cod AS [CODIGO TURMA] , 
            cadastroTurmaAcademia.nome AS [TURMA], cadastroAlunoTurma.cod AS [CODIGO ALUNO TURMA], 
            cadastroAlunoTurma.data_entrada AS [ENTRADA]  ,cadastroAlunoTurma.data_saida AS [SAIDA],alunosAcademia.inativo AS [INATIVO],  
            FLOOR(DATEDIFF(DAY, alunosAcademia.dataNascimento, GETDATE()) / 365.25) as [IDADE], idAluno AS [idAluno], dataMatricula AS [MATRICULA], 
            cadastroAlunoTurma.inativo[INATIVO TURMA] 
            FROM CADASTRO_ALUNO_TURMA cadastroAlunoTurma
                     INNER JOIN CADASTRO_TURMA_ACADEMIA cadastroTurmaAcademia on cadastroAlunoTurma.cod_turma = cadastroTurmaAcademia.cod
                        INNER JOIN CADASTRO_MODALIDADES cadastroModalidades on cadastroTurmaAcademia.cod_modalidade = cadastroModalidades.cod
                        INNER JOIN AlunosAcademia alunosAcademia on alunosAcademia.idAluno = cadastroAlunoTurma.cod_aluno  ";

            if (inativo == "0")
            {
                select += "WHERE cadastroAlunoTurma.inativo = '0' ";
            }
            else
            {
                if (inativo == "1")
                {
                    select += "WHERE cadastroAlunoTurma.inativo = 1 ";
                }
            }


            if (codigoAluno != string.Empty)
            {
                select += "AND alunosAcademia.cod_aluno = '" + codigoAluno.Replace('\'', '´') + "' ";
            }

            if (nome != string.Empty)
            {
                select += "AND alunosAcademia.Nome LIKE '%" + nome.Replace('\'', '´') + "%' ";
            }

            if (cpf != string.Empty)
            {
                select += "AND alunosAcademia.CPF = '" + cpf.Replace('\'', '´') + "' ";
            }

            if (turma != "0")
            {
                select += "AND cadastroAlunoTurma.cod_turma = '" + turma + "' ";
            }

            if (modalidade != "0")
            {
                select += "AND cadastroModalidades.cod = '" + modalidade + "' ";
            }

            if (idadeInicial != string.Empty)
            {
                select += "AND FLOOR(DATEDIFF(DAY, alunosAcademia.dataNascimento, GETDATE()) / 365.25) BETWEEN '" + idadeInicial.Replace('\'', '´') + "' AND '" + idadeFinal.Replace('\'', '´') + "' ";
            }

            if (tipoAluno != "0")
            {
                if (tipoAluno == "1")
                {
                    select += "AND origem = 'Socio'";
                }
                else if (tipoAluno == "2")
                {
                    select += "AND origem = 'Dependente'";
                }
                else
                {
                    select += "AND origem = 'Nao Socio'";
                }
            }

            select += "ORDER BY alunosAcademia.Nome";

            Session["filtro"] = string.Format(select, "00");
            Sql.SelectCommand = string.Format(select, "");
            DataView dataView = (DataView)Sql.Select(DataSourceSelectArguments.Empty);
            return dataView;
        }

        protected void GridView3_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            try
            {
                GridView3.PageIndex = e.NewPageIndex;

                GridView3.DataSource = (DataView)Session["dvAluno"];
                GridView3.DataBind();
            }
            catch
            {
            }
        }

        protected void GridView3_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "EDITAR")
            {
                DataView dv = (DataView)Session["dvAluno"];

                int index = Convert.ToInt32(e.CommandArgument) + GridView3.PageIndex * GridView3.PageSize;

                Response.Redirect("AlterarAluno.aspx?cod=" + dv[index]["idAluno"].ToString());
            }
            else if (e.CommandName == "INATIVAR")
            {
                DataView dataView = (DataView)Session["dvAluno"];

                int index = Convert.ToInt32(e.CommandArgument) + GridView3.PageSize * GridView3.PageIndex;

                Session["idAlunoInativacao"] = dataView[index]["idAluno"].ToString();
                tbCodigoAlunoInativacao.Text = dataView[index]["idAluno"].ToString();
                tbNomeAlunoInativacao.Text = dataView[index]["ALUNO"].ToString();
                Session["index"] = index;
                Session["CodigoAlunoTurma"] = dataView[index]["CODIGO ALUNO TURMA"].ToString();

                ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "showModalInativacao", "showModalInativacao()", true);
            }
        }

        protected void ddlModalidade_Init(object sender, EventArgs e)
        {
            Sql.SelectCommand = "SELECT cod AS [CODIGO], nome AS [NOME] FROM CADASTRO_MODALIDADES";
            DataView dataView = (DataView)Sql.Select(DataSourceSelectArguments.Empty);

            ddlModalidade.Items.Add(new ListItem("TODAS", "0"));

            for (int i = 0; i < dataView.Count; i++)
            {
                ddlModalidade.Items.Add(new ListItem(dataView[i]["NOME"].ToString(), dataView[i]["CODIGO"].ToString()));
            }
        }

        private void MontarTurma(string codigoModalidade)
        {
            Sql.SelectCommand = "SELECT cod AS [CODIGO], nome AS [NOME] FROM CADASTRO_TURMA_ACADEMIA WHERE estado=1 and cod_modalidade = '" + codigoModalidade + "'";
            DataView dataView = (DataView)Sql.Select(DataSourceSelectArguments.Empty);

            ddlTurma.Items.Add(new ListItem("TODAS", "0"));

            for (int i = 0; i < dataView.Count; i++)
            {
                ddlTurma.Items.Add(new ListItem(dataView[i]["NOME"].ToString(), dataView[i]["CODIGO"].ToString()));
            }
        }

        protected void ddlTurma_Init(object sender, EventArgs e)
        {
            ddlTurma.Items.Add(new ListItem("TODAS", "0"));
        }

        protected void ddlModalidade_SelectedIndexChanged(object sender, EventArgs e)
        {
            ddlTurma.Enabled = true;

            ddlTurma.Items.Clear();

            MontarTurma(ddlModalidade.SelectedValue);
        }

        protected void ddlTipoAluno_Init(object sender, EventArgs e)
        {
            ddlTipoAluno.Items.Add(new ListItem("TODOS", "0"));
            ddlTipoAluno.Items.Add(new ListItem("SÓCIO", "1"));
            ddlTipoAluno.Items.Add(new ListItem("DEPENDENTE", "2"));
            ddlTipoAluno.Items.Add(new ListItem("NÃO SÓCIO", "3"));
        }

        protected void Remover_Click(object sender, EventArgs e)
        {
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "HideModal", "hideModal();", true);

            string CodigoAlunoTurma = Session["CodigoAlunoTurma"].ToString();

            try
            {
                string update = "UPDATE CADASTRO_ALUNO_TURMA SET [data_saida] = GETDATE(), inativo = 1 WHERE cod = '" + CodigoAlunoTurma + "'";

                Sql.UpdateCommand = update;
                Sql.Update();

                lbTotalAlunos.Visible = false;
                GridView3.Visible = false;

                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Sucesso", "alert('Aluno removido com successo');", true);
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Erro", "alert('Não foi possível remover esse aluno da turma, por favor tente novamente!');", true);
            }
        }

        private DataView GetTurmasAluno(string idAluno)
        {
            string select = "SELECT cadastroAlunoTurma.cod AS [CODIGO ALUNO TURMA] ";
            select += "FROM AlunosAcademia alunosAcademia ";
            select += "LEFT JOIN CADASTRO_ALUNO_TURMA cadastroAlunoTurma ON alunosAcademia.idAluno = cadastroAlunoTurma.cod_aluno ";
            select += "LEFT JOIN CADASTRO_TURMA_ACADEMIA cadastroTurmaAcademia ON cadastroAlunoTurma.cod_turma = cadastroTurmaAcademia.cod ";
            select += "LEFT JOIN CADASTRO_MODALIDADES cadastroModalidades ON cadastroTurmaAcademia.cod_modalidade = cadastroModalidades.cod ";
            select += "WHERE cadastroAlunoTurma.data_saida IS NULL ";
            select += "AND alunosAcademia.idAluno = '" + idAluno + "' ";
            select += "ORDER BY alunosAcademia.Nome";

            Sql.SelectCommand = select;
            DataView dataView = (DataView)Sql.Select(DataSourceSelectArguments.Empty);

            return dataView;
        }

        protected void btnInativar_Click(object sender, EventArgs e)
        {
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "HideModal", "hideModal();", true);

            string idAluno = Session["idAlunoInativacao"].ToString();

            var dataView = GetTurmasAluno(idAluno);

            string CodigoAlunoTurma = Session["CodigoAlunoTurma"].ToString();

            try
            {

                string update = "UPDATE CADASTRO_ALUNO_TURMA SET [data_saida] = GETDATE(), inativo = 1 WHERE cod = '" + CodigoAlunoTurma + "'";

                Sql.UpdateCommand = update;

                if (Sql.Update() > 0)
                {
                    //string update2 = "UPDATE AlunosAcademia SET inativo = '1' WHERE idAluno = '" + idAluno + "'";
                    //Sql.UpdateCommand = update2;

                    //if(Sql.Update()>0)
                    //{
                    //    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Sucesso", "alert('Aluno inativado com successo');", true);
                    //}
                    //else
                    //{
                    //    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Erro", "alert('Não foi possível inativar esse aluno, por favor tente novamente!');", true);
                    //}

                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Sucesso", "alert('Aluno inativado com sucesso');", true);
                }
                else
                {
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Erro", "alert('Não foi possível inativar esse aluno, por favor tente novamente!');", true);
                }

                //if (dataView.Count == 1)
                //{

                //}

                Session["index"] = null;

                lbTotalAlunos.Visible = false;
                GridView3.Visible = false;


            }
            catch (Exception ex)
            {
                //MessageBox.Show("Não foi possível inativar esse aluno, por favor tente novamente.");
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Erro", "alert('Não foi possível inativar esse aluno, por favor tente novamente!');", true);
                //Response.Redirect("ConsultarAluno.aspx");
            }
        }

        protected void btn_Gerar_Click(object sender, EventArgs e)
        {
            MultiView1.SetActiveView(View2);
            DataView dv = (DataView)Session["dvAluno"];

            System.Data.DataTable tb = new System.Data.DataTable();

            tb.Columns.Add("Aluno", typeof(String));
            tb.Columns.Add("Modalidade", typeof(String));
            tb.Columns.Add("Turma", typeof(String));
            tb.Columns.Add("Idade", typeof(String));
            tb.Columns.Add("Aluno Desde", typeof(String));
            tb.Columns.Add("Usuario", typeof(String));
            tb.Columns.Add("Total", typeof(String));
            tb.Columns.Add("Filtro", typeof(String));

            for (int i = 0; i < dv.Count; i++)
            {
                try
                {
                    DataRow linha = tb.NewRow();

                    linha["Aluno"] = dv[i]["ALUNO"].ToString().ToUpper();
                    linha["Modalidade"] = dv[i]["MODALIDADE"].ToString().ToUpper();
                    linha["Turma"] = dv[i]["TURMA"].ToString().ToUpper();
                    linha["Idade"] = dv[i]["IDADE"].ToString();
                    linha["Aluno Desde"] = Convert.ToDateTime(dv[i]["MATRICULA"]).ToString("d");
                    linha["Filtro"] = Session["AlunoFiltroRpt"].ToString().ToUpper();
                    linha["Total"] = dv.Count + "";

                    try
                    {
                        linha["Usuario"] = Session["usuario"].ToString().ToUpper();
                    }
                    catch
                    {
                    }

                    tb.Rows.Add(linha);
                }
                catch
                {
                }
            }

            ConsultarAlunoRpt meuRelatorio = new ConsultarAlunoRpt();
            meuRelatorio.SetDataSource(tb);
            //CrystalReportViewer1.ReportSource = meuRelatorio;
            //CrystalReportViewer1.RefreshReport();
            //CrystalReportViewer1.Visible = true;

            Session["rptAluno"] = meuRelatorio;

        }

        protected void btn_Voltar_Click(object sender, EventArgs e)
        {
            MultiView1.SetActiveView(View1);

        }

        protected void GridView3_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                var dataview = (DataView)Session["dvAluno"];

                if (dataview[e.Row.RowIndex]["INATIVO TURMA"].ToString() == "1")
                    e.Row.Cells[5].Text = string.IsNullOrEmpty(dataview[e.Row.RowIndex + GridView3.PageSize * GridView3.PageIndex]["SAIDA"].ToString()) ? string.Empty : DateTime.Parse(dataview[e.Row.RowIndex + GridView3.PageSize * GridView3.PageIndex]["SAIDA"].ToString()).ToShortDateString();
            }
        }

        //protected void btnExcel_Click(object sender, EventArgs e)
        //{
        //    Response.Write("<script> window.open('gerarexcel.aspx', '_blank'); </script>");
        //}

        //protected void chkInativar_CheckedChanged(object sender, EventArgs e)
        //{
        //    foreach (GridViewRow row in GridView3.Rows)
        //    {
        //        CheckBox chVarios = (CheckBox)row.FindControl("chkInativar");

        //        if (chVarios != null)
        //        {
        //            chVarios.Checked = (sender as CheckBox).Checked;
        //        }
        //    }
        //}

        protected void btnInativarVarios_Click(object sender, EventArgs e)
        {                       

            foreach (GridViewRow row in GridView3.Rows)
            {

                CheckBox cb = (CheckBox)row.FindControl("chkInativar");

                if (cb.Checked)
                {
                    string update = "UPDATE CADASTRO_ALUNO_TURMA SET [data_saida] = GETDATE(), inativo = 1 WHERE cod = '" + row.Cells[1].Text + "'";

                    Sql.UpdateCommand = update;
                    Sql.Update();

                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Sucesso", "alert('Aluno(s) inativado(s) com sucesso');", true);

                    lnkBtnPesquisar_Click(sender, e);                    
                }
            }
        }

        protected void btnExcel_Click(object sender, EventArgs e)
        {
            Response.Write("<script> window.open('gerarexcel.aspx', '_blank'); </script>");
        }
    }
}
    
asked by anonymous 19.10.2016 / 12:33

0 answers