我有一个cboBox,我想用脚本中的一个表加载它。
$dtNetworks = New-Object System.Data.DataTable
[void]$dtNetworks.Columns.Add("Environment")
[void]$dtNetworks.Columns.Add("Name")
[void]$dtNetworks.Columns.Add("Subnet")
[void]$dtNetworks.Rows.Add("Dev","Inside","10.0.00.0/24")
[void]$dtNetworks.Rows.Add("Dev","DMZ","10.0.0.0/24")
[void]$dtNetworks.Rows.Add("QA","Inside","10.1.0.0/24")
[void]$dtNetworks.Rows.Add("QA","DMZ","10.1.0.0/24")
[void]$dtNetworks.Rows.Add("Prod","Inside","10.2.0.0/24")
[void]$dtNetworks.Rows.Add("Prod","DMZ","10.2.0.0/24")
$WPFtxt_dNetwork.DisplayMemberPath = "Name"
$WPFtxt_dNetwork.SelectedValuePath = "Subnet"
#$WPFtxt_dNetwork.ItemsSource = $dtNetworks.DefaultView
$WPFtxt_dNetwork.ItemsSource = $dtNetworks.Select("Environment = 'Dev'")
$WPFtxt_dNetwork.SelectedIndex = 1
$form.Activate()$dtNetworks.DefaultView工作并使用cboBox中的所有值填充$dtNetworks。它还返回一个System.Data.DataRowView类型。
select语句自己工作,只返回Dev值,但它返回一个System.Data.DataRow类型。填写表单时,cboBox中没有条目。
有什么想法吗?如何将$dtNetworks的内容过滤成DataRowView?
发布于 2018-01-19 00:02:04
与其使用.Select()方法定义源,不如将源保留为DefaultView,并将筛选器应用于该视图。
$dtNetworks = New-Object System.Data.DataTable
[void]$dtNetworks.Columns.Add("Environment")
[void]$dtNetworks.Columns.Add("Name")
[void]$dtNetworks.Columns.Add("Subnet")
[void]$dtNetworks.Rows.Add("Dev","Inside","10.0.00.0/24")
[void]$dtNetworks.Rows.Add("Dev","DMZ","10.0.0.0/24")
[void]$dtNetworks.Rows.Add("QA","Inside","10.1.0.0/24")
[void]$dtNetworks.Rows.Add("QA","DMZ","10.1.0.0/24")
[void]$dtNetworks.Rows.Add("Prod","Inside","10.2.0.0/24")
[void]$dtNetworks.Rows.Add("Prod","DMZ","10.2.0.0/24")
$WPFtxt_dNetwork.DisplayMemberPath = "Name"
$WPFtxt_dNetwork.SelectedValuePath = "Subnet"
$dtNetworks.DefaultView.Filter = "Environment = 'Dev'"
$WPFtxt_dNetwork.ItemsSource = $dtNetworks.DefaultView
$WPFtxt_dNetwork.SelectedIndex = 1
$form.Activate()https://stackoverflow.com/questions/48332066
复制相似问题