Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在windows窗体上向Dev Express网格视图动态显示字段_C#_Winforms - Fatal编程技术网

C# 在windows窗体上向Dev Express网格视图动态显示字段

C# 在windows窗体上向Dev Express网格视图动态显示字段,c#,winforms,C#,Winforms,在C中的一个windows应用程序中,我使用Dev Express网格视图控件绑定一些数据并将其显示给用户。我有自定义业务对象,其属性是为此定义的。然后我简单地将网格的数据源设置为自定义业务对象列表 不久前,出现了一个要求,这意味着要显示在网格上的列将是动态的。这意味着我无法在设计时知道需要显示哪些字段 我正在考虑放弃设置数据源,并通过代码手动填充网格。但我认为这会导致网格的许多功能无法正常工作,例如,通过拖放字段到标题区域等方式对数据进行分组。有没有办法在运行时告诉网格在数据绑定到网格时跳过B

在C中的一个windows应用程序中,我使用Dev Express网格视图控件绑定一些数据并将其显示给用户。我有自定义业务对象,其属性是为此定义的。然后我简单地将网格的数据源设置为自定义业务对象列表

不久前,出现了一个要求,这意味着要显示在网格上的列将是动态的。这意味着我无法在设计时知道需要显示哪些字段


我正在考虑放弃设置数据源,并通过代码手动填充网格。但我认为这会导致网格的许多功能无法正常工作,例如,通过拖放字段到标题区域等方式对数据进行分组。有没有办法在运行时告诉网格在数据绑定到网格时跳过BO列表中的某些字段?

这很简单,我们一直都在这样做。您只需要将网格绑定到您的数据源,它将为您完成其余的工作

隐藏字段也很容易,只需将其VisibleIndex设置为-1

你可以这样做

C

VB


VisibleIndex关于什么应该设置为-1?如果您能提供一些细节,我将不胜感激。假设我有一个自定义对象,它有20个具有属性的字段,在运行时,我确定只有5个字段需要绑定到网格。当我将dataSource设置为列表时,我应该怎么做才能使它只显示5个适当的字段?抱歉,VisibleIndex属性是在活动视图的Columns集合中可以找到的列上设置的。我已经编辑了我的答案并添加了一个示例。Alex,这只会用于隐藏列,使其无法显示,但字段仍然绑定到网格。我正在寻找一种方法,告诉网格不要绑定不需要的字段。可能类似于创建一个字段映射,允许我指定要绑定的自定义业务对象中的哪些字段、列的位置、列的标题等。然后干脆不从业务对象中选择字段?
grid.FocusedView.Columns["Col1"].VisibleIndex = -1;
grid.FocusedView.Columns("Col1").VisibleIndex = -1;