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

时间:2016-03-02 22:54:05

标签: c# vb.net

我在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#中的示例也是接受的。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用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'")