Gridview 里做"new"图标怎样实现???
在做新闻系统时,
在新闻列表里,如果是前两天发布的新闻后面就有个"new"图标!
请问这样是怎样做的呢!?我是用asp.net 里的Gridview控件 语言有 C#
数据库里的新闻表字段 有 id , title , addtime.
我就是不知在和"addtime"怎比较时.代码是怎样写的?请大哥们指教一下吧,谢谢!
问题点数:100、回复次数:6Top
1 楼jiangsheng(蒋晟.Net[MVP])回复于 2006-03-18 08:29:13 得分 0
放一个new图标上去,根据数据动态改visible属性……Top
2 楼vivianfdlpw()回复于 2006-03-18 08:38:23 得分 70
SqlDataSource 查询语句: select * from news order by addtime desc
然后在GridView的RowDataBound事件里:(假设addtime为第三列,第四列放一个模版列放图片)
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DateTime dt = DateTime.Parse(e.Row.Cells[2].Text);
TimeSpan ts=DateTime.Now.Subtract(dt);
if (ts.Days<=2)
{
Image img = new Image();
img.ImageUrl = "images/new.jpg";
e.Row.Cells[4].Controls.Add(img);
}
}
}Top
3 楼MonkWang(象写情书一样写程序)回复于 2006-03-18 08:38:43 得分 0
好象就是用有new字样的gif之类的图标吧!
在数据库中控制一下就可以实现Top
4 楼peterb(基础的重要性!!! 去处浮躁 静,思,学!)回复于 2006-03-18 09:43:35 得分 0
同意vivianfdlpw() 在绑定事件处理Top
5 楼dolfen(网海之豚(每天进步一点点))回复于 2006-03-18 10:58:02 得分 30
在aspx中的DataGrid添加一列模板列:
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<img alt="" src="images/new.gif" <%# DateTime.Compare(DateTime.Today.AddDays(-2),DateTime.Parse(DataBinder.Eval(Container,"DataItem.addtime")))>0 ? "style='dispaly:none'" : "" %> />
</ItemTemplate>
<asp:TemplateColumn>
</Columns>
Top
6 楼dolfen(网海之豚(每天进步一点点))回复于 2006-03-18 11:06:16 得分 0
噢,对了,用Convert.ToDateTime()更通用一些,将多种类型转换为日期型。而DateTime.Parse()只是解析字符串为日期型。Top




