【问题标题】:SSRS shows dropdown instead of date pickerSSRS 显示下拉列表而不是日期选择器
【发布时间】:2019-03-05 12:59:59
【问题描述】:

我有一个带有单个参数日期/时间的报告。 可用值来自查询

select cast(getdate() as date) c1 union all
select cast((getdate() - 1) as date)

但是 VS 预览版和 SSRS 2017 都显示下拉/组合框中的参数值,并且没有显示日期选择器。我需要一个日期选择器。

知道有什么问题吗?

我尝试将其转换为各种日期类型,但没有任何效果。它在 IE、Chrome 中不起作用。

这是rdl代码:

  <DataSets>
    <DataSet Name="ds">
      <Query>
        <DataSourceName>SSDB</DataSourceName>
        <CommandText>
          select cast(getdate() as date) c1 union all
          select cast((getdate() - 1) as date)
        </CommandText>
      </Query>
      <Fields>
        <Field Name="c1">
          <DataField>c1</DataField>
          <rd:TypeName>System.DateTime</rd:TypeName>
        </Field>
      </Fields>
    </DataSet>
  </DataSets>

  <ReportParameters>
    <ReportParameter Name="Date">
      <DataType>DateTime</DataType>
      <Prompt>Date</Prompt>
      <ValidValues>
        <DataSetReference>
          <DataSetName>ds</DataSetName>
          <ValueField>c1</ValueField>
          <LabelField>c1</LabelField>
        </DataSetReference>
      </ValidValues>
    </ReportParameter>
  </ReportParameters>

  <Language>en-US</Language>

【问题讨论】:

    标签: reporting-services ssrs-2017


    【解决方案1】:

    根据我的测试以及我个人在 SSRS 中所做的工作,问题在于您为可用日期指定了一个特定的集合。 this link 上的答案很好地描述了发生的事情。

    使用数据集为过滤器分配值,您必须同意,这是单选和多选过滤器的典型做法。通过指定值,您是在告诉 SSRS 一些日期值是合法的,而另一些是非法的。它可以禁止用户输入非法值的唯一方法是取消任何你的心愿选择日期选择器。

    基本上,关键是如果您向可用值添加任何内容,您将无法选择日期选择器。您可以毫无问题地设置默认值,但如果没有提供可用值,您将看到日期选择器。

    【讨论】:

      猜你喜欢
      • 2017-01-06
      • 1970-01-01
      • 1970-01-01
      • 2014-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-01
      • 1970-01-01
      相关资源
      最近更新 更多