Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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
Winforms 如何制作iBindingList Powershell_Winforms_Sorting_Powershell_Data Binding_Datagridview - Fatal编程技术网

Winforms 如何制作iBindingList Powershell

Winforms 如何制作iBindingList Powershell,winforms,sorting,powershell,data-binding,datagridview,Winforms,Sorting,Powershell,Data Binding,Datagridview,我正在Powershell中开发UI,遇到了一个障碍。我查询了一个computers win32_服务,并使用ArrayList将输出放入Datagridview,我希望能够对输出进行排序。在使用列表作为数据源时,我无法调用Datagridview.Sort()这一事实之后,我了解到了这一点。错误告诉我需要一个iBindingList来排序。这就是我所处的位置 $services = get-wmiobject win32_service $datagrid = new-object syste

我正在Powershell中开发UI,遇到了一个障碍。我查询了一个computers win32_服务,并使用ArrayList将输出放入Datagridview,我希望能够对输出进行排序。在使用列表作为数据源时,我无法调用Datagridview.Sort()这一事实之后,我了解到了这一点。错误告诉我需要一个iBindingList来排序。这就是我所处的位置

$services = get-wmiobject win32_service
$datagrid = new-object system.windows.forms.datagridview
$databinding = new-object system.componentmodel.ibindinglist
$databinding.add($services)
$datagrid.datasource = $databinding
这将出现以下错误:“未找到新对象:构造函数。找不到类型system.componentmodel.ibindinglist的适当构造函数”


我在互联网上找不到有关powershell的iBindingList的任何信息。到目前为止,我所看到的一切都是关于C++或C++的,而且声明那些IbjdIn列表似乎很简单。也许有比iBindingList更好的方法,谢谢你的帮助。谢谢大家!

IBindingList
是一个接口,而不是一个类,因此没有构造函数

您必须创建一个实现
IBindingList
接口的类型的对象,例如泛型类:


测试
获取服务| Out GridView
感谢您的帮助!这在创建bindinglist时起了作用,但结果并不是我所期望的。在窗体中显示datagridview时,它显示bindinglist对象的属性,但不显示对象内部的实际信息。我尝试这样做:$datagrid.datasource=$databindinglist[0]这会给我一个空的datagridview,但是如果我写主机$databindinglist[0],我会看到我想要的信息。
$DataBindingList = New-Object System.ComponentModel.BindingList[Object] 
$DataBindingList.Add($services)
$Datagrid.DataSource = $DataBindingList