我被难住了,所以我希望有人能给我一些帮助。我试图使用PrimalForms社区版2011创建一个Windows窗体,它利用了DataGridView。我能够使用以下内容创建一个(无耻地从http://sev17.com/2009/08/02/building-powershell-guis-with-primal-forms/):窃取)
endregion Generated Form Objects
$bindingSource1 = new-object System.Windows.Forms.BindingSource
$dataAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$serverName = “myserver.com”
$databaseName = “myDB”
$query = ‘select * from tblPotConflicts’
#———————————————-
#Generated Event Script Blocks
#———————————————-
#Provide Custom Code for events specified in PrimalForms.
$Form1_Load=
{
$dataGridView1.DataSource = $bindingSource1
$connString = “Server=$serverName;Database=$databaseName;Integrated Security=SSPI;”
$dataAdapter.SelectCommand = new-object System.Data.SqlClient.SqlCommand ($query,$connString)
$commandBuilder = new-object System.Data.SqlClient.SqlCommandBuilder $dataAdapter
$dt = New-Object System.Data.DataTable
[void]$dataAdapter.fill($dt)
$bindingSource1.DataSource = $dt
$dataGridView1.AutoResizeColumns([System.Windows.Forms.DataGridViewAutoSizeColumnsMode]::AllCellsExceptHeader)
}
这在为DataGridView创建绑定时工作得很好,因为你实际上不能在PrimalForms本身中这样做[至少据我所知]。我好奇的是:
你可以从DataGridView省略任何列吗?如果可能的话,我宁愿对最终用户隐藏一些列,而只是在幕后以编程方式操作它们。我不擅长SQL,所以这很可能是一些非常基本和简单的东西。
我有一个列,我想把它作为一个组合框。我看到,在c#中,他们有列类型DataGridViewComboBoxColumn的选择,但我不知道如何在PowerShell中设置。有人对此有什么建议或解决方案吗?
提前感谢您在这里提供的任何帮助/见解/建议。
我不使用原始形式,但我想我明白你想要什么。我在这里做一个粗略的近似:
http://gallery.technet.microsoft.com/scriptcenter/select fromgridview - 521 a56d8
使用Powershell的原生out-gridview。基本上,我从原始对象中创建了一个用于在gridview中显示的自定义对象的新集合,并通过原始数组中的对象的数组索引号将其捆绑在一起。然后,从网格中选择的对象的Index属性被带回到原始对象数组中,以获得将用于进一步处理的对象。
如果有帮助的话