我在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#中的示例也是接受的。
谢谢!
答案 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'")