*使用 Powershell 工作室,但我可以使用 C# 答案,因为除了语法之外它几乎相同。
这是上下文:
我之前使用的是:
$datagridviewInfo.Rows.Add("123", "456")
填充 DataGridView,但后来我注意到,如果 DataGridView 不使用“DataTable”作为数据源,我无法将它导出到 CSV。
所以现在我正在创建一个 DataTable 并将我的行添加到这个对象中。我现在可以成功导出为 CSV。但是,我无法像以前那样设计我的单元格。如果我这样做是为了测试:
$button1_Click={
$RowNomPoste = $datagridviewInfo.Rows.Add("Poste", "$poste est inaccessible.")
$datagridviewInfo.Rows.Item($RowNomPoste).DefaultCellStyle.BackColor = "Red"
}
它有效,并为我提供了以红色突出显示的行。但是,该方法没有使用 DataTable,所以它不好,因为后来我无法导出到 CSV。
现在如果我试试这个:
$button2_Click={
$tableInfoPoste = New-Object system.Data.DataTable "TableInfoPoste"
$tableInfoPoste.Columns.Add("Propriété")
$tableInfoPoste.Columns.Add("Valeur")
$datagridviewInfo.DataSource = $tableInfoPoste
$RowNomPoste = $tableInfoPoste.Rows.Add("Poste", "$poste est inaccessible.")
$tableInfoPoste.Rows.Item($RowNomPoste).DefaultCellStyle.BackColor = "Red"
}
它添加了行,但不允许我更改它的 DefaultCellStyle。它抛出错误:
Cannont convert argument «index» («System.Data.DataRow») «get_Item» to type «System.Int32»: «
ERROR: Cannot convert the value «System.Data.DataRow» of type «System.Data.DataRow» to type «System.Int32».»»
为什么使用第一种直接将行添加到 DataGridView 的方法时有效,但在使用 DataTable 时无效?如何使用 DataTable 但仍然正确设置行的样式?
非常感激。