我有一个DataGridView和一个List<>作为DataSorce但我想只显示选定的列。
我有类似的东西......(仅举例)
class Order{
public int IdOrder;
public string Product;
public double Price;
public int quantity;
}
List<Order> orders = new List<Order>();
myDataGrid.DataSource = orders;
注意:我还使用了devexpress组件和xPO框架(它是一样的) 感谢。
答案 0 :(得分:2)
您可以为要隐藏的每个列执行类似的操作:
myDataGrid.Columns[0].Visible = false;
答案 1 :(得分:2)
设置DataSource并填充列后,您可以遍历生成的列并隐藏/删除其中的一些列:
foreach (var column in gridView1.Columns.OfType<DevExpress.XtraGrid.Columns.GridColumn>())
{
if (column.FieldName == "MemberToBeHidden")
{
// Just hide it by default, user can still choose to show it later
column.Visible = false;
// Or completely remove from the grid
gridView1.Columns.Remove(column);
}
}
或者,如果您根本不想显示该字段,可以使用BrowsableAttribute
标记该字段:
class Order
{
public int IdOrder;
public string Product;
public double Price;
public int quantity;
[Browsable(false)]
public string MemberToBeHidden;
}
答案 2 :(得分:1)
您应该禁用datagridview的AutoGeneratedColumns属性,使用与您不想显示的属性相同的列名手动创建列,然后将数据源绑定到该列。