DataSource null和Powershell中的绑定

时间:2019-01-24 09:33:43

标签: powershell

我有一个GUI编写的代码,并且有一些列表框。

$selectedDBTablesToAdd = $lbDbTables.SelectedItems
$list = $lbDbTableInApp.DataSource + $selectedDBTablesToAdd | Sort-Object -Property name -Descending

$lbDbTableInApp.DataSource = $list

它有效。 但是,我需要在以下行之前清除数据:

$lbDbTableInApp.DataSource = $null

它会从列表框中删除所有项目。 但是,现在,有了这行代码,我得到了类似的错误: "DataSource": "Complex DataBinding accepts as a data source either an IList or an IListSource."

方法: 我尝试介绍一种新的对象绑定,例如:

 $bindingSource = new-object System.Windows.Forms.BindingSource
 #and then recconect my DataSpurce for $lbDbTableInApp=>
 $bindingSource.DataSource = $list
 $lbDbTableInApp.DataSource = $bindingSource.DataSource

但仍然出现相同的错误。

约束: 选择项目而不是数据源是不可能的。

我正在使用Powershell 5.1

1 个答案:

答案 0 :(得分:0)

假设您使用的是System.Windows.Forms.ListBox,则该类应具有方法Clear()来清空它。

https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.listbox.objectcollection.clear?view=netframework-4.7.2