2012-03-27 7 views
0

Ich habe eine Methode, die einen IEnumerable eines benutzerdefinierten Typs zurückgibt.Füllen Sie nur einige DataView-Spalten mit IEnumerable

Auch wenn _Persona einige andere Eigenschaften hat, möchte ich nur die Eigenschaften in der Methode zurückgegeben.

Das Problem ist, dass, wenn ich meine DataView mit Ergebnissen füllen, Eigenschaften, die nicht festgelegt sind sie angezeigt werden und ich will dies nicht, so dass ich manuell diese Spalten nicht sichtbar machen.

public void LLenarDataView(IEnumerable<_Persona> personas) 
     { 
      _listaPersonas.DataSource = personas; 
      _listaPersonas.Columns["Sexo"].Visible = false; 
      _listaPersonas.Columns["Rfc"].Visible = false; 
      _listaPersonas.Columns["Curp"].Visible = false; 
      _listaPersonas.Columns["EstadoCivil"].Visible = false; 
      _listaPersonas.Columns["Direccion"].Visible = false; 
      _listaPersonas.Columns["Cp"].Visible = false; 
      _listaPersonas.Columns["Delegacion"].Visible = false; 
      _listaPersonas.Columns["Email"].Visible = false; 
      _listaPersonas.Columns["Telefono"].Visible = false; 
      _listaPersonas.Columns["Celular"].Visible = false; 
      _listaPersonas.Columns["Empresa"].Visible = false; 
      _listaPersonas.AutoResizeColumns(); 
     } 

Gibt es eine einfachere Möglichkeit, das Gleiche zu tun?

Antwort

1

Ihre Datenansicht generiert automatisch Spalten basierend auf Daten aus Ihrer Klasse. Ordentlich Weg Spalten zu verstecken ist „Browsable“ Attribut in der Klasse wie folgt zu verwenden:

[Browsable(false)] 
public string MyString { get;set;} 

Sehen Sie diese so post Referenz.

+0

Ich wusste nichts über dieses Attribut, danke. –

+0

Gern geschehen :) –

Verwandte Themen