仅用IEnumerable填充一些DataView列
本文关键字:DataView IEnumerable 填充 仅用 | 更新日期: 2023-09-27 18:29:06
我有一个方法,它返回某种自定义类型的IEnumerable。
public IEnumerable<_Persona> RegresaBusquedaPersona(string nombres)
{
return context.personas.Where(x => x.Nombres.Contains(nombres) ||
x.ApellidoP.Contains(nombres) ||
x.ApellidoM.Contains(nombres))
.Select(x => new _Persona
{
Id = x.IDPersona,
Nombres = x.Nombres,
ApellidoP = x.ApellidoP,
ApellidoM = x.ApellidoM,
FechaNacimiento = x.FechaNacimiento
});
}
即使_Persona有一些其他属性,我也只想返回在方法中选择的属性。
问题是,当我用结果填充DataView时,会显示未设置的属性,我不希望这样,所以我手动使这些列不可见。
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();
}
有没有更简单的方法可以做到这一点?
您的数据视图会根据类中的数据自动生成列。隐藏列的巧妙方法是在类中使用"可浏览"属性,如下所示:
[Browsable(false)]
public string MyString { get;set;}
请参阅本文以供参考。