引用数据源
在引用数据源列时,使用以下格式:
[DataSource.Column]
点击复制
例如,源名称与列名称之间用句号隔开:
[Employees.FirstName]
点击复制
如果使用关系引用数据源,源名称可以是复合的。更多详情,请参阅 "数据 "部分。例如,可以这样引用相关数据源列:
[Products.Categories.CategoryName]
点击复制
让我们看看下面这个在表达式中使用列的示例:
[Employees.FirstName] + " " + [Employees.LastName]
点击复制
这里需要注意的是:每一列都有明确的数据类型,该类型在 "DataType(数据类型)"属性中设置(如果事先在 "Data(数据)"窗口中选择了数据列,则可以在 "Properties(属性)"窗口中看到)。表达式中如何使用列取决于列的类型。例如,在上述示例中,名和姓这两列都是字符串类型,因此可以这样使用。在下面的示例中,我们将尝试使用数值类型的 "Employees.Age "列,这将导致错误:
[Employees.FirstName] + " " + [Employees.Age]
点击复制
出现错误的原因是,字符串和数字不能混用。为此,您需要将数字转换为字符串:
[Employees.FirstName] + " " + [Employees.Age].ToString()
点击复制
在本例中,我们把 "Employees.Age "列当作一个整数变量来引用。事实也是如此。我们知道,所有表达式都是经过编译的。从编译器的角度来看,所有非标准的东西(如引用数据列)都会被转换成另一种类型,而这种类型是编译器可以理解的。因此,最后一个表达式将被转换成下面的形式:
(string)(Report.GetColumnValue("Employees.FirstName")) + " " + (int)(Report.GetColumnValue("Employees.Age")).ToString()
点击复制
[Employees.FirstName] --> (string)(Report.GetColumnValue("Employees.FirstName"))
[Employees.Age] --> (int)(Report.GetColumnValue("Employees.Age"))
也就是说,我们可以在表达式中将数据列当作具有确定类型的变量来使用。例如,下面的表达式将返回雇员姓名的第一个符号:
[Employees.FirstName].Substring(0, 1)
点击复制
如需下载fastreport最新试用版,请点产品名跳转产品下载页>>