我可以在DataTable或dataGridView中使用excel逻辑函数“if”吗?

本文关键字:函数 if excel DataTable dataGridView 我可以 | 更新日期: 2023-09-27 18:37:03

我有一个 VB.NET 的程序,其中包含一个表格,该表想运行 excel 逻辑函数"if"来完成第三列:

我的DT和DGV代码

Dim DGV As New DataGridView
    Dim DT As New DataTable
    If DGV.ColumnCount > 0 Then
        Try
            DT.Columns.Remove("Nº")
            DT.Columns.Remove("Q")
            DT.Columns.Remove("k")
            DT.Clear()
        Catch g As DataException
            Console.WriteLine("Exception Of type {0} occurred.", g.GetType().ToString())
        End Try
    End If
    DGV.SetBounds(12, 120, 865, 460)
    Controls.Add(DGV)
    DT.Columns.Add("Nº", GetType(Int32))
    DT.Columns.Add("Q", GetType(Double))
    DT.Columns.Add("k", GetType(String))
    For I = 1 To 100
        DT.Rows.Add(I, I * 3)
    Next (I)
    Me.DGV.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader
    DGV.ReadOnly = True
    DGV.DataSource = DT

有可能?C# 中的示例也是接受的。

谢谢!

我可以在DataTable或dataGridView中使用excel逻辑函数“if”吗?

您可以使用 DataColumn.Expression 属性

DataColumn dc = DT.Columns.Add("k", GetType(String))
dc.Expression = "IIF(Q >= 50; 'Yes'; 'Not')"

或直接在创建列时

DT.Columns.Add("k", GetType(String), "IIF(Q >= 50; 'Yes'; 'Not'")