我是这样做的,首先获取 FormulaFieldDefinition 对象,并设置公式 IFormulaFieldDefinitionsPtr Formula1; Formula1=m_Report->FormulaFields->GetItemByName("Formula1");//假如我报表中自定义公式的名字为"Formula1"(具体是不是这样获取我 就不清楚) //但在VC里这个对象没有TEXT成员让我来设置具体公式,所以接下来我不清楚怎样做, 而在VB里好像如此 下面的“field1“为报表上你自定义的公式字段。 field1=cr1.DataDefinition.FormulaFields["field1"]; field1.Text="{view_cgrk.nie}"; 水晶报表中的公式字段可以在vb程序中读取到 并设置公式来动态显示你需要的信息'***** '*函数名: setFormulaFields '*函数功能: 控制水晶报表内公式字段的公式内容 '***********Public Function SetFormulaFields(carp As CRAXDRT.Report, FieldName, formula As String) Dim i With carp For i = 1 To .FormulaFields.Count If .FormulaFields(i).FormulaFieldName = FieldName Then .FormulaFields(i).Text = formula End If Next i End With End Function 而。NET中 // 填充的数据集传递给报表 oRpt.SetDataSource (dataSet); oRpt.DataDefinition.FormulaFields[0].Text ="{用户.id}"; oRpt.DataDefinition.FormulaFields[1].Text ="{用户.用户名}"; oRpt.DataDefinition.FormulaFields[2].Text ="{用户.密码}"; oRpt.DataDefinition.FormulaFields[3].Text ="{用户.权限}"; 可是在VC中呢??究竟怎么设置呢,疑惑。
IFormulaFieldDefinitionsPtr Formula1;
Formula1=m_Report->FormulaFields->GetItemByName("Formula1");//假如我报表中自定义公式的名字为"Formula1"(具体是不是这样获取我
就不清楚)
//但在VC里这个对象没有TEXT成员让我来设置具体公式,所以接下来我不清楚怎样做,
而在VB里好像如此
下面的“field1“为报表上你自定义的公式字段。
field1=cr1.DataDefinition.FormulaFields["field1"];
field1.Text="{view_cgrk.nie}";
水晶报表中的公式字段可以在vb程序中读取到 并设置公式来动态显示你需要的信息'*****
'*函数名: setFormulaFields
'*函数功能: 控制水晶报表内公式字段的公式内容
'***********Public Function SetFormulaFields(carp As CRAXDRT.Report, FieldName, formula As String)
Dim i
With carp
For i = 1 To .FormulaFields.Count
If .FormulaFields(i).FormulaFieldName = FieldName Then
.FormulaFields(i).Text = formula
End If
Next i
End With
End Function
而。NET中
// 填充的数据集传递给报表
oRpt.SetDataSource (dataSet); oRpt.DataDefinition.FormulaFields[0].Text ="{用户.id}";
oRpt.DataDefinition.FormulaFields[1].Text ="{用户.用户名}";
oRpt.DataDefinition.FormulaFields[2].Text ="{用户.密码}";
oRpt.DataDefinition.FormulaFields[3].Text ="{用户.权限}";
可是在VC中呢??究竟怎么设置呢,疑惑。
笑纳。