前台
<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与当前的时间差
请赐教,最好帮我改改。谢谢

解决方案 »

  1.   

    给repeater添加事件ItemDataBound
    在每项绑定数据完成后发生
    具体的代码可以自己写了
      

  2.   

            string strDate = "2012-12-12";
            DateTime time = DateTime.Now;
            TimeSpan ts = Convert.ToDateTime(strDate) - time;
      

  3.   

        protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Separator || e.Item.ItemType == ListItemType.Item)
            {
                Label title = e.Item.FindControl("lblTitle") as Label;
            }
        }
      

  4.   

    前台<%#GetDateTimeSpan(Convert.ToDateTime(Eval("date_time")))%>后台public string GetDateTimeSpan(DateTime dt)
        {
            return "时间差:"+ Math.Abs((DateTime.Now - dt).Days).ToString() + "天";
        }
      

  5.   

    呵! 多谢提醒
    其实搞了半天是没搞清楚<%# %> 的用法
    不晓得这样写效率怎么样。呵! web  跟 winfrom 还是很大区别<td >
                    <img src="imgs/clock.gif" title="剩余时间" />&nbsp;&nbsp;
                    <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;
        }