我有一个返回某个自定义类型的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();
}
有没有更简单的方法做同样的事情?
答案 0 :(得分:1)
您的数据视图会根据您班级的数据自动生成列。隐藏列的简洁方法是在类中使用“Browsable”属性,如下所示:
[Browsable(false)]
public string MyString { get;set;}
请参阅此post以供参考。