如何添加一个带有应具有三元运算符的表达式的数据列

本文关键字:运算符 三元 何添加 表达式 数据 一个 添加 | 更新日期: 2023-09-27 18:24:30

我有以下代码,应该向现有的数据表中添加一个数据列。

基本上,逻辑是,如果字段Filename等于DispForm,那么它应该打印#,但如果不是,那么在该数据列上打印Path。

然而,我得到了这个错误:

语法错误:运算符"="之前缺少操作数。

var fileNameUrl = new DataColumn("FileNameUrl")
{
    Expression = String.Format("[{0}] == 'DispForm.aspx' ? '#' : [{1}]", "FileName", "Path")
};
resultingDataTable.Columns.Add(fileNameUrl);

如何添加一个带有应具有三元运算符的表达式的数据列

您应该使用具有签名IIf(expr, truepart, falsepart)IFF函数

var fileNameUrl = new DataColumn("FileNameUrl")
{
    Expression = "IIF( [FileName] = 'DispForm.aspx' , '#' , [Path])"
};