如何指定要在DataSource GridView中显示的列表中的列?C#
本文关键字:列表 何指定 显示 DataSource GridView | 更新日期: 2023-09-27 18:00:42
我有一个DataGridView和一个List<>作为一个DataForce,但我只想显示选定的列。
我有这样的东西。。。(仅举例)
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框架(相同)谢谢
您可以对要隐藏的每个列执行类似的操作:
myDataGrid.Columns[0].Visible = false;
设置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;
}
您应该禁用datagridview的AutoGeneratedColumns属性,使用与不想显示的属性相同的列名手动创建列,然后将数据源绑定到它。