2014-09-26 21 views
1

我有下面的代码应该添加一个datacolumn到现有的数据表。如何添加一个应具有三元运算符的表达式的数据列

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

但是我得到这个错误:

Syntax error: Missing operand before '=' operator.

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

回答

2

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

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