我正在使用ascx.cs后端页面,在选择带参数的报表时尝试使用四个不同的过滤器“下拉列表”。目前我的文件管理器和下拉列表正在运行,参数正在传递并返回正确的报告。
但是,下拉列表的值是根据数据库表中的最新值生成的,即月份和年份。
(例如,年 - 2014年) (例如,月 - 三月)
我在数据库中的表只会在当前发生的每个月添加(今天= 2014-06-10) 因此到目前为止,我有2014年的前几个月。
所以对我的问题。我试图将最新的值显示为默认值。例如,2014年的“年度”下拉列表和“月份”下降量将是上个月。
我还必须注意,我的四个下拉过滤器中的每一个都有一个autopostback Onselectedchange
例子(年)
dropdown_year.Items.Clear();
dropdown_year.Items.Add(new ListItem("Select a year...", "0"));
这是在后端
在前端的东西看起来像这样
<div class="field">
<div class="field-left">
<label for="dropdown_year" runat="server">Year</label>
</div>
<div class="field-right">
<asp:DropDownList runat="server" ID="dropdown_year" OnSelectedIndexChanged="dropdown_year_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>
<span id="dropdown_year_error" class="error-message" runat="server"></span>
</div>
</div>
任何人都可以建议我如何能够获得最新的价值吗?
答案 0 :(得分:0)
将所有项目添加到设置选定索引后面的代码中的特定列表中,将其作为最后一个:
dropdown_year.SelectedIndex = dropdown_year.Items.Count - 1;
这取决于从数据库获取项目时如何对项目进行排序。您可以按降序对它们进行排序,然后只选择第一个。如果他们按升序排序,请按照上面的例子进行。