次のタイプのレコードの単純な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に、またはその逆に変換する既存のシステム関数があるのだろうか?そのような機能がない場合、これを簡潔に行うにはどうすればよいでしょうか。