0
I made a button to inactivate several people in one gridview
, the first time the right process, when updating the page, the Row.Cell
always comes empty, does not recognize the selected 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>");
}
}
}
Can you show us which part of the code you believe to have an error? For example: what function is wrong.
– Rick Wolff
You are showing the whole code '-', show only the required part
– Ícaro Dantas