隐藏DataListView中的列(ObjectListView控件的一部分)

时间:2016-11-14 13:58:07

标签: c# objectlistview

我在我的应用程序中使用ObjectListView控件的DataListView控件部分。我的应用程序中有四个实体,Location,Machine,Fault和MantainanceSchedule。我的应用程序的数据源对象位置用于导航和处理数据库中的数据。实体位置,即我的对象位置具有与之关联的实体机器的集合。我的DataListView控件数据源链接到一个位置的每个实例的机器实体集合的实例。每个机器实体又具有与之关联的Faults和MantainanceSchedules的集合。现在,根据我在应用程序中导航的每个位置,我想在DataListView中查看与其关联的所有机器信息的列表。我能够在DataListView中查看信息。但是,因为,每个机器实体都有其他实体关联,我有三列我不想在我的DataListView上显示 - Faults,Location和MantainanceShedules。

请注意,我在运行时在DataListView中填充数据,因此我的DataListView列是从我的数据源对象Location的属性自动创建的。我正在使用实体framwework。请查看生成我的DataListView列的代码和带有标记为X的列的图像,当我运行程序时,我不需要在我的DataListView中显示。

Location loc = (Location)locationBindingNavigator.BindingSource.Current;
dataListViewMachines.DataSource = loc.Machines.ToList();

如何隐藏我不希望在DataListView中显示的列?

enter image description here

2 个答案:

答案 0 :(得分:0)

似乎我终于得到了回答我自己的问题。答案似乎很简单,但我努力到达那里。所以,我和像我这样的人分享这个。我所做的就是在运行时删除不需要的DataListView列,这是我用标题的键标识的。在这种情况下,我不想显示的列是Location,Faults和MaintainanceSchedules。

dataListViewMachines.Columns.RemoveByKey("Location");
dataListViewMachines.Columns.RemoveByKey("MantainanceSchedules");
dataListViewMachines.Columns.RemoveByKey("Faults");

答案 1 :(得分:0)

AutoGenerateColumns设为false