FastReport脚本中 TfrxDataSet
对象的方法和属性:
方法和属性 | 描述 |
---|---|
First: Boolean | 将光标移动到数据集的第一条记录,并返回是否成功移动到第一条记录 |
Next: Boolean | 将光标移动到数据集的下一条记录,并返回是否成功移动到下一条记录 |
Prior: Boolean | 将光标移动到数据集的上一条记录,并返回是否成功移动到上一条记录 |
Last: Boolean | 将光标移动到数据集的最后一条记录,并返回是否成功移动到最后一条记录 |
Locate | 根据指定的字段和值在数据集中定位记录 |
IsEmpty: Boolean | 判断数据集是否为空 |
Open: Boolean | 打开数据集 |
Close: Boolean | 关闭数据集 |
Fields: TfrxFields | 获取数据集的字段集合 |
RecordCount: Integer | 获取数据集中的记录数 |
Eof: Boolean | 指示当前记录是否为数据集的最后一条记录 |
Bof: Boolean | 指示当前记录是否为数据集的第一条记录 |
Value[const Index: Variant] | 按索引或字段名获取字段的值 |
FieldByName | 根据字段名称获取字段对象 |
FieldByNumber | 根据字段序号获取字段对象 |
GetAliasName | 获取字段的别名 |
GetBlobSize | 获取 Blob 字段的大小 |
GetFieldList | 获取数据集中的字段列表 |
GetFieldValue | 获取指定字段的值 |
IsBlobField | 判断字段是否为 Blob 字段 |
IsEmpty | 判断数据集是否为空 |
IsFieldNull | 判断指定字段的值是否为 NULL |
IsNull | 判断当前记录是否为空记录 |
IsStringField | 判断字段是否为字符串字段 |
HasField | 判断数据集中是否包含指定名称的字段 |
IsUniDirectional | 判断数据集是否为单向数据集 |
CreateBlobStream | 创建 Blob 字段的流对象 |
LocateEx | 根据指定的字段和值在数据集中定位记录(支持更多定位选项) |
SaveToXML | 将数据集保存为 XML 文件 |
LoadFromXML | 从 XML 文件加载数据集 |
ApplyUpdates | 将对数据集进行的修改应用到数据库 |
CancelUpdates | 取消对数据集进行的修改 |
Refresh | 刷新数据集,重新加载数据 |
FetchAll | 获取所有的数据记录到内存中 |
Clone | 克隆当前数据集,创建一个相同的副本 |
GetFieldClass | 获取字段对象的类类型 |
GetNativeFieldClass | 获取底层数据集的字段对象类类型 |
在 FastReport 脚本中,可以使用 TfrxDataSet 对象来访问报表中的数据集。要遍历并获取该数据集中的值,可以使用以下方法:
获取数据集对象:
var
DataSet: TfrxDataSet;
begin
DataSet := Report.GetDataSet('DataSetName'); // 替换为实际的数据集名称
end;
这里假设你已经有一个报表对象 Report,通过 GetDataSet 方法获取到了相应的数据集对象。
遍历数据集:
var
DataSet: TfrxDataSet;
Value: Variant;
begin
DataSet := Report.GetDataSet('DataSetName'); // 替换为实际的数据集名称
DataSet.First; // 将光标移动到第一条记录
while not DataSet.Eof do
begin
Value := DataSet.Value['FieldName']; // 替换为实际的字段名称
// 在这里处理获取到的值
DataSet.Next; // 移动到下一条记录
end;
end;
这里通过调用 First 方法将光标移动到数据集的第一条记录,然后使用 Value 属性获取指定字段的值。在循环中,可以处理获取到的值,并通过调用 Next 方法移动到下一条记录,直到到达数据集的末尾 (Eof 为 True)。
需要根据实际情况替换代码中的数据集名称和字段名称。以上代码片段演示了基本的遍历过程,你可以根据需求进行相应的扩展和处理。