SSRS 显示下拉菜单而不是日期选择器

SSRS shows dropdown instead of date picker

我有一个只有一个参数的报告 Date/Time。 可用值来自查询

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

但是 VS 预览和 SSRS 2017 都显示 dropdown/combobox 中的参数值并且没有显示日期选择器。我需要一个日期选择器。

知道哪里出了问题吗?

我尝试将其转换为各种日期类型,但没有任何效果。它在 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>

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

Using a dataset to assign values to a filter, you must agree, is a typical practice of single-select and multi-select filters. By specifying values, you are telling SSRS some date values are legal, while others are illegal. The only way it can forbid illegal values be entered by the user is by taking away the anything-your-heart-desires-to-choose date picker.

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