How to hide Properties in the DataGridView

1

How can I hide my properties from my base class. I want to hide the properties in the loading act of the DataGridView from the person class, perhaps with a syntax similar to [DisplayName("Titulo")] I intend to control what will be displayed to the user from my class and not hiding the columns in the DataGridView manually! / p>

public class Pessoa
{
   //Aqui eu quero usar uma sintaxe semelhante ao DisplayName para inativar essa properiedade la no meu DataGridView
   //Ex: [PropertyShow(false)]        
   public int id { get; set; }
   [DisplayName("Nome da Pessoa")]
   public string nome { get; set; }
}

public class Pessoas : List<Pessoa>{}

public partial class CarregaGrid
{
   void Carrega()
  {
      Pessoas colecao =  new Pessoas();
      colecao.Add(new Pessoa(){id =1, nome = "Pessoa 1"});
      colecao.Add(new Pessoa(){id =2, nome = "Pessoa 2"});
      colecao.Add(new Pessoa(){id =3, nome = "Pessoa 3"});

      //Carregando o grid
      var grid  =  new DataGridView();
      grid.DataSource = colecao;

      //Ocultando a coluna manualmente
      //Nesse ponto que quero evitar ocultar as colunas no meu View quero controlar isso na minha Classe Pessoa
      grid.Columns["id"].Visible=false;

      }
}
    
asked by anonymous 26.04.2018 / 16:53

0 answers