Array
(
)

Esconder colunas de um GridView de acordo com parâmetro

Itamar Souza
   - 24 fev 2014


Amigos

Estou precisando esconder algumas colunas no grid de acordo com uma consulta, tenho a consulta:
#Código
//buscar ultimo dia do Mês
public void BuscarUltimoDiaDoMes()
{
//conexao
SqlConnection Conn = new SqlConnection();
try
{
//objeto conexao
Conn.ConnectionString = ConfigurationManager.ConnectionStrings["Conexao03"].ToString();
//cria comando a ser executado
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = @"select day(dateadd(day,-1,(dateadd(month,1,convert(char(08),getdate(),126)+'01')))) as dia";
cmd.Connection = Conn;
cmd.Connection.Open();
//objeto da datatable
DataTable dt = new DataTable();
//objeto leitor
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
//mostra a informação
if (ds.Tables[0].Rows[0]["dia"] != null)
{
//mostra a informação
UltimoDiaMes = ds.Tables[0].Rows[0]["dia"].ToString();
}
}
catch (Exception ex)
{
//ira exibir o erro que ocorrer em um alerta
// ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "Erro",
// "alert('ocorreru o erro:" + ex.Message.Replace("\r\n", "").Replace("'", "") + "'); ", true);
}
finally
{
Conn.Close();
Conn.Dispose();
}
}



No evento RowDataBound eu verifico se o último dia no mês é diferente do conteúdo da célula 29, então eu desabilito a visualização das células 29-30-31. Mais estou tendo erro, alguém saberia como fazer isso?
Agradeço
#Código
//desabilitar coluna do grid
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (UltimoDiaMes != e.Row.Cells[29].Text)
{
e.Row.Cells[29].Visible = false;
e.Row.Cells[30].Visible = false;
e.Row.Cells[31].Visible = false;
}
}