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;
                }
            }