我有以下类型的简单 F# 记录数组(或依赖于系统类型的一些小变化):
type Transaction= {
date: DateTime;
amount: float;
mutable details: string }
我想将它们显示到 Winforms 中的 DataGridView 控件,包括支持更改内容以及添加或删除行/记录。将 DataViewGrid 绑定到记录数组似乎不允许添加/删除行(或者我一定做错了吗?)。然而,DataTable 结构似乎更适合此目的。创建上述类型的 DataTable 似乎与原始记录类型非常匹配,例如:
let dataTable = new DataTable()
dataTable.Columns.Add("date", typeof<DateTime>) |> ignore
dataTable.Columns.Add("amount", typeof<float>) |> ignore
dataTable.Columns.Add("details", typeof<string>) |> ignore)
所以我想知道是否有一个现有的系统函数可以将依赖于系统类型的任何类型的记录的记录数组(例如,类型“事务数组”)转换为相应的DataTable,反之亦然?如果没有这样的功能,如何以简洁的方式完成?