前台
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="kaiQ_Table">
<tr>
<th width="7%"> 编号</th>
<th width="10%">联系人</th>
<th width="20%">标题[<span style="color:red;font-size:small">点击标题查看详情</span>]</th>
<th width="30%">剩余完成时间</th>
<th width="15%">提交时间</th>
<th width="15%">状态</th>?
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="lblId" runat="server" Text='<%# Eval("id" ) %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblLinkman" runat="server" Text='<%# Eval("t_Linkman" ) %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblTitle" runat="server" Text='<%# Eval("t_Title" ) %>'></asp:Label>
</td>
<td>
还剩:<asp:Label ID="lblTimeCount" runat="server" Text='<%# Eval("t_TimeCount") %>'></asp:Label> 的时间完成
</td>
<td>
<asp:Label ID="lalTime" runat="server" Text='<%#Eval("t_Time") %>'></asp:Label>
</td>
<td>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("t_State" ) %>'></asp:Label>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>后台
void GetSwPage()
{
lblNull.Visible = false;
string sqlPage = "select * from [thing] order by [t_time] desc";
int curpage = Convert.ToInt32(lblPage.Text);
PagedDataSource ps = new PagedDataSource();
ps.DataSource = db.ExecDataSet(sqlPage).Tables[0].DefaultView; ps.AllowPaging = true;//是否分页
ps.PageSize = 10; //显示条数
ps.CurrentPageIndex = curpage - 1;//获取当前的页码
lnkbtnUp.Enabled = true;
lnkbtnNext.Enabled = true;
lnkbtnBack.Enabled = true;
lnkbtnOne.Enabled = true;
if (curpage == 1)
{
lnkbtnOne.Enabled = false;//不显示第一页按钮
lnkbtnUp.Enabled = false;//不显示上一页按钮
}
if (curpage == ps.PageCount)
{
lnkbtnNext.Enabled = false;//不显示下一页
lnkbtnBack.Enabled = false;//不显示最后一页
}
this.labBackPage.Text = ps.PageCount.ToString();
if (ps.Count < 1) lblNull.Visible = true;
this.Repeater1.DataSource = ps;
this.Repeater1.DataBind(); }
t_TimeCount 预设天数 t_Time 提交时间
我想要的结果是在 lblTimeCount 显示t_Time与当前的时间差
请赐教,最好帮我改改。谢谢
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="kaiQ_Table">
<tr>
<th width="7%"> 编号</th>
<th width="10%">联系人</th>
<th width="20%">标题[<span style="color:red;font-size:small">点击标题查看详情</span>]</th>
<th width="30%">剩余完成时间</th>
<th width="15%">提交时间</th>
<th width="15%">状态</th>?
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="lblId" runat="server" Text='<%# Eval("id" ) %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblLinkman" runat="server" Text='<%# Eval("t_Linkman" ) %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblTitle" runat="server" Text='<%# Eval("t_Title" ) %>'></asp:Label>
</td>
<td>
还剩:<asp:Label ID="lblTimeCount" runat="server" Text='<%# Eval("t_TimeCount") %>'></asp:Label> 的时间完成
</td>
<td>
<asp:Label ID="lalTime" runat="server" Text='<%#Eval("t_Time") %>'></asp:Label>
</td>
<td>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("t_State" ) %>'></asp:Label>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>后台
void GetSwPage()
{
lblNull.Visible = false;
string sqlPage = "select * from [thing] order by [t_time] desc";
int curpage = Convert.ToInt32(lblPage.Text);
PagedDataSource ps = new PagedDataSource();
ps.DataSource = db.ExecDataSet(sqlPage).Tables[0].DefaultView; ps.AllowPaging = true;//是否分页
ps.PageSize = 10; //显示条数
ps.CurrentPageIndex = curpage - 1;//获取当前的页码
lnkbtnUp.Enabled = true;
lnkbtnNext.Enabled = true;
lnkbtnBack.Enabled = true;
lnkbtnOne.Enabled = true;
if (curpage == 1)
{
lnkbtnOne.Enabled = false;//不显示第一页按钮
lnkbtnUp.Enabled = false;//不显示上一页按钮
}
if (curpage == ps.PageCount)
{
lnkbtnNext.Enabled = false;//不显示下一页
lnkbtnBack.Enabled = false;//不显示最后一页
}
this.labBackPage.Text = ps.PageCount.ToString();
if (ps.Count < 1) lblNull.Visible = true;
this.Repeater1.DataSource = ps;
this.Repeater1.DataBind(); }
t_TimeCount 预设天数 t_Time 提交时间
我想要的结果是在 lblTimeCount 显示t_Time与当前的时间差
请赐教,最好帮我改改。谢谢
在每项绑定数据完成后发生
具体的代码可以自己写了
DateTime time = DateTime.Now;
TimeSpan ts = Convert.ToDateTime(strDate) - time;
{
if (e.Item.ItemType == ListItemType.Separator || e.Item.ItemType == ListItemType.Item)
{
Label title = e.Item.FindControl("lblTitle") as Label;
}
}
{
return "时间差:"+ Math.Abs((DateTime.Now - dt).Days).ToString() + "天";
}
其实搞了半天是没搞清楚<%# %> 的用法
不晓得这样写效率怎么样。呵! web 跟 winfrom 还是很大区别<td >
<img src="imgs/clock.gif" title="剩余时间" />
<span style="color:<%# GetCss(Eval("t_Time").ToString(),Eval("t_TimeCount").ToString())!=false?"Green":"Red" %>;font-weight:bolder"><%#GetDay(Eval("t_Time").ToString(), "D",Eval("t_TimeCount").ToString()) %></span> 天
<span style="color:<%# IsTimeCss!=false?"Green":"Red" %>;font-weight:bolder"><%#GetDay(Eval("t_Time").ToString(), "H",Eval("t_TimeCount").ToString())%></span>小时
<span style="color:<%# IsTimeCss!=false?"Green":"Red" %>;font-weight:bolder"> <%#GetDay(Eval("t_Time").ToString(), "M",Eval("t_TimeCount").ToString())%></span>分钟</td>
<td> public string GetDay(string strDate, string t, string tCount)
{
DateTime dTime = DateTime.Now;
TimeSpan ts = Convert.ToDateTime(strDate) - dTime;
string[] td = ts.ToString().Split('.');
string[] tm;
td[0] = (Convert.ToInt32(td[0]) + Convert.ToInt32(tCount)).ToString();
if (Convert.ToInt32(td[0]) > 0)
{
// IsTimeCss = true;
switch (t)
{
case "D":
strDate = td[0];
break;
case "H":
tm = td[1].Split(':');
strDate = tm[0];
break;
case "M":
tm = td[1].Split(':');
strDate = tm[1];
break;
}
}
else if (Convert.ToInt32(td[0]) <= 0 && td[1] != "00:00:00")
{
// IsTimeCss = false;
switch (t)
{
case "D":
strDate = "此事物已逾期 " + td[0].Substring(1, td[0].Length-1);
break;
case "H":
tm = td[1].Split(':');
strDate = tm[0];
break;
case "M":
tm = td[1].Split(':');
strDate = tm[1];
break;
}
}
else
{
IsTimeCss = true; switch (t) { case "D": strDate = "0"; break; case "H": strDate = "00"; break; case "M": strDate = "00"; break; }
}
return strDate;
}