小弟用的是vs05,想用dropdownlist来筛选记录,dropdownlist是显示的年份和月份(本来还想做个2级联动的,现在想想还是就直接做一个好了)比如说“06年10月”。gridview用的是sqldatasource,是一个月报表。
现在就有两个问题。1、dropdownlist如何才能显示出“06年10月”这种字段。
2、表中数据是按天更新的。就是想问,怎样才能用上面描述的那种dropdownlist把他们给按月筛选开?
麻烦各位了...
现在就有两个问题。1、dropdownlist如何才能显示出“06年10月”这种字段。
2、表中数据是按天更新的。就是想问,怎样才能用上面描述的那种dropdownlist把他们给按月筛选开?
麻烦各位了...
解决方案 »
- asp.net 创建Windows服务
- 在sql2005 express怎么使用备份数据库命令?
- asp.net网站,动态页面变为静态页面
- 为什么我用Ajax提交留言,点击按钮后弹不起来,要等留言显示出来后才能弹起来?
- 新闻系统一般都生成静态页面,那么论坛、人才市场、购物系统,这些是不是没有办法做成静态的,否则不能用了!
- 新手的大问题
- 请问在ASP中具体如何实现调用多媒体功能
- datalist中添加hyperlink
- ASP.NET Website怎么设置32位与64位
- 我用程序with(window.event)if(keyCode==13)keyCode=9使回车等于TAB,但是聚焦到Button上需用鼠标click去触发Button的后台事件,不方便,请
- sql中的datediff问题
- DataGrid的数据更新,老是更新不了是怎么回事?
ProviderName="<%$ ConnectionStrings:testConnectionString1.ProviderName %>" SelectCommand="SELECT * FROM [table1] WHERE (datepart(year,[date]) = @year) AND (datepart(month,[date]) = @month) " OnSelecting="SqlDataSource1_Selecting">
<SelectParameters>
<asp:Parameter Name="@year" Type="Int32" />
<asp:Parameter Name="@month" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
{
if (!IsPostBack)
{
BindDropDown();
}
}
protected void BindDropDown()
{
DateTime t = DateTime.Now;
int l = 24;//显示今天以前的24个月
for (int i = l; i >=0; i--)
{
DateTime ttt = t.AddMonths(-i);
this.DropDownList1.Items.Add(new ListItem(ttt.ToString("yyyy年M月"),ttt.ToShortDateString()));
}
}protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
string tmp = this.DropDownList1.SelectedValue;
DateTime t = DateTime.Parse(tmp);
e.Command.Parameters[0].Value = t.Year;
e.Command.Parameters[1].Value = t.Month;
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
this.SqlDataSource1.DataBind();
}
然后就是关于那dropdownlist的问题了,其实我没说清楚,那dropdownlist应该也是和一个数据源绑定的,就是和gridview用的是同一个表,只是用的字段只有该表里的“date”。象您这样做的话
【DateTime t = DateTime.Now;
int l = 24;//显示今天以前的24个月
for (int i = l; i >=0; i--)···】
就只能显示出2年内的数据...当然,可以把数字改下。但是,如果这个表只有最近几个月的数据的话,那前面的一些月份感觉就没什么用了,所以就想和表里的date绑定下^^
不知道我这么想有什么地方错的不。