F#查询表达式/选择运算符/更改结果中的列标题

use*_*636 2 f# f#-3.0

在以下代码中:

#r "System.Data.dll"
#r "FSharp.Data.TypeProviders.dll"
#r "System.Data.Linq.dll"

open System
open System.Data
open System.Data.Linq
open Microsoft.FSharp.Data.TypeProviders
open Microsoft.FSharp.Linq
open System.Windows.Forms

type dbSchema = SqlDataConnection<"...">


let grid<'T> (x:seq<'T>) =...

let query1 =
    query {
        for row in db.Status do
        //select row
        select (row.StatusID, row.Name)
    }


query1 |> Seq.toArray |> grid 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有哪些更好的方法可以将列更改为有意义的标题(例如,数据源中的实际列),而不仅仅是(Item1 Item2 ...).

注意:有关网格功能,请参阅 Tomas Petricek的回复.

问候,知识产权

Mat*_*igh 6

您可以选择数据作为记录,以DataGridView推断列的名称

type Status =
    {
        StatusID: int
        Name: string
    }

let query1 =
    query {
        for row in db.Status do
        select { StatusID = row.StatusID; Name = row.Name }
    }
Run Code Online (Sandbox Code Playgroud)