如何制作一个iBindingList Powershell

时间:2015-03-29 17:07:11

标签: winforms sorting powershell data-binding datagridview

我正在使用Powershell中的UI工作,并遇到了障碍。我查询了计算机win32_service,并使用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 ++的,并且在声明iBindingList时似乎很容易。也许有比iBindingList更好的方法,任何帮助都表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:0)

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

您必须创建实现 IBindingList接口类型的对象,例如通用BindingList<T>类:

$DataBindingList = New-Object System.ComponentModel.BindingList[Object] 
$DataBindingList.Add($services)
$Datagrid.DataSource = $DataBindingList