How do you populate an SSRS TextBox with a DataSet value?

自闭症网瘾萝莉.ら 提交于 2019-12-04 17:40:39

问题


Dear community member,

Given a specific Key (e.g. "user_name"), how does one populate an SSRS TextBox with the corresponding DataSet Value (e.g. "John Doe")?

Any insight you can provide would be greatly appreciated!

CONTEXT

  • SQL Server = 2008 R2
  • IDE = Visual Studio 2012
  • ReportData DataSet contains data used to populate a Tablix in the body of the report
  • HeaderData DataSet contains data used to populate two TextBox elements in the report header
    • this DataSet contains two columns: key and value

CONSTRAINTS

  • for this particular problem, I cannot simply bind the HeaderData DataSet to a Tablix in the report header... I have to populate TextBox elements
  • If a report contains multiple DataSets, and you reference the Fields collection in an expression... you will receive a "The Value expression for the text box users an aggregate expression without scope" error.

SAMPLE DATA

HeaderData

Key="camera_name", Value="Panomera - Terminal 1"

Key="user_name", Value="John Doe"


回答1:


Using a Dataset called HeaderData like:

I have a couple of textboxes in a report header:

Where the expression above is:

=Max(IIf(Fields!Key.Value = "user_name"
  , Fields!Value.Value, Nothing)
  , "HeaderData")

This is working OK:

This works as it uses the IIf expression to NULL out any values other than when Key = user_name, then takes the Max of the non NULL Value values.

Since you're referencing a Dataset outside of a tablix you need a Scope and an aggregate - I'm using Max to ignore NULL values, which something like First will not do. Judging by your description there should only ever be one non NULL value there so it should be fine.



来源:https://stackoverflow.com/questions/19160730/how-do-you-populate-an-ssrs-textbox-with-a-dataset-value

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!