none
gv前3条数据显示new问题 RRS feed

  • 问题

  • 我在gridview上绑定了10条数据,实现了前3天发布信息标题后面有个new ,现在想前3条数据显示new而不是前3天了。代码如下

    protected void Gvnew_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if(e.Row.RowType == DataControlRowType.DataRow )
            {
                #region 方法一、最新3天发表的文章加上new
                //DataRowView drv = (DataRowView)e.Row.DataItem;
                //DateTime dtNow = DateTime.Now;
                //DateTime dt3 = dtNow.AddDays(-3);//2009-9-24
                //if (Convert.ToDateTime(drv.Row["pubDate"].ToString()) >= dt3)
                //{
                //    Label lab =(Label)e.Row.FindControl("Label1");
                //    lab.Text= "<font style='color:red'> new</font>";
                //}
                #endregion
    
                #region 方法二、前3条数据加上new
                for (int i = 0; i < Gvnew.Rows.Count; i++)
                {
                    if (i > 2)
                    {
                        Label lab = (Label)e.Row.FindControl("Label1");
                        lab.Text = "  new";
                    }
                }
                #endregion
            }
    <asp:GridView ID="Gvnew" runat="server" AutoGenerateColumns="False" BorderStyle="None" CellPadding="0" GridLines="None" ShowHeader="False" OnRowDataBound="Gvnew_RowDataBound">
                    <Columns>
                    <asp:TemplateField>
                      <EditItemTemplate>
                        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                      </EditItemTemplate>
                      <ItemTemplate>
                        <table border="0" cellpadding="0" cellspacing="0" class="xinwen" style="border-bottom: #cccccc 1px dotted" width="550">
                          <tr>
                            <td align="left" height="22" width="10"><img height="5" src="images/index_37.jpg" width="5" /></td>
                            <td align="left"><a href="Trends_01.html" target="_parent"><%# Eval("newTitle")%><asp:Label ID="Label1" runat="server" Text=""></asp:Label></a></td>
                            <td  width="120"> [<%# Eval("pubDate","{0:d}")%>]</td>
                          </tr>
                        </table>
                      </ItemTemplate>
                    </asp:TemplateField>
                    </Columns>
                  </asp:GridView>




    方法一实现。方法2没效果。
    不用羡慕----那,只是个传说!
    2009年9月27日 12:46

答案

  •       int i=0;
        protected void Gvnew_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if(e.Row.RowType == DataControlRowType.DataRow )
            {
              
                    if (i>2)
                    {
                        Label lab = (Label)e.Row.FindControl("Label1");
                        lab.Text = "  new";
                        i++;
                    }
              }
              
            }
    • 已编辑 mldark 2009年9月27日 13:23 写错一个字
    • 已标记为答案 极度 2009年9月27日 13:32
    2009年9月27日 12:59

全部回复

  •       int i=0;
        protected void Gvnew_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if(e.Row.RowType == DataControlRowType.DataRow )
            {
              
                    if (i>2)
                    {
                        Label lab = (Label)e.Row.FindControl("Label1");
                        lab.Text = "  new";
                        i++;
                    }
              }
              
            }
    • 已编辑 mldark 2009年9月27日 13:23 写错一个字
    • 已标记为答案 极度 2009年9月27日 13:32
    2009年9月27日 12:59
  • mldark  不行吧。没有效果的
    不用羡慕----那,只是个传说!
    2009年9月27日 13:10
  • 我测试过了 可以的 你测试过了没?
    2009年9月27日 13:19
  • 3Q mldark  可以了
    2009年9月27日 13:32