Repeater的第一行跟其他行不一样,怎么处理?

解决方案 »

  1.   

    那就第一行不要放到repeater里面去
      

  2.   

    那我数据不还得另外取 我现在是继承了一个Repeater重写的 通过设置Repeater的参数就可以调相关栏位的数据
      

  3.   

    <asp:repeater>
    <asp:literial id="1" runat="server">
    <asp:repeater>放在里面也可以做到,就是比较麻烦也没有必要了,在onitemdatabind的时候判断
    if(e.item.itemindex==0)
    {
    //处理前面的
    literial li = (literial)e.item.findcontrol("1")
    li.text="<img>...";
    }
      

  4.   

    数据也不用另取吧,第一行取过后,把datatable的第一行去掉再邦定到reapeater中也可以
    dt.removeat(1)
      

  5.   

    但问题是我把reapeater重写包成一控件了 数据是在空间里填充的 外面只要指定一个栏位ID
      

  6.   

    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
         if (e.Item.ItemType == ListItemType.Item)
         {
            if(e.Item.ItemIndex==0)
            {
               //这里就可以处理你的第一行
            }
         }
    }
      

  7.   

    图文并存在repeqter中:            DataTable dt = new DataTable();
                dt.Columns.Add("test");
                dt.Rows.Add("http://avatar.profile.csdn.net/C/1/8/2_mngzilin.jpg");
                dt.Rows.Add("<br/>如何让跑马灯效果一直循环不间断 [ASP.NET]<br/> ");
                dt.Rows.Add("<br/>如何让跑马灯效果一直循环不间断 [ASP.NET] <br/>");            Repeater rp = new Repeater();
               
                rp.DataSource = dt;
                rp.DataBind();
                for (int i = 0; i < rp.Items.Count; i++)
                {
                    if (i == 0)
                    {
                        Image img = new Image();
                        img.ImageUrl = dt.Rows[i]["test"].ToString();
                        rp.Items[i].Controls.Add(img);
                    }
                    else
                    {
                        HyperLink hl = new HyperLink();
                        hl.Text = dt.Rows[i]["test"].ToString();
                        hl.NavigateUrl = "http://www.baidu.com";
                        hl.Target = "_blank";
                        rp.Items[i].Controls.Add(hl);
                    }
                }
                Form.Controls.Add(rp);
      

  8.   

    你的数据源里面包含了图片的路径字段吗?Repeater1.Items[0].Cells[0]看看这个有没有你要的属性
      

  9.   

    Repeater1.Items[0].Cells[0] 
    =---》
    Repeater1.Items[0]
      

  10.   

    两个REPEATER 第一行单独一个
      

  11.   


    那你在前面aspx页面上直接写
    <%if(e.item.itemindex==0)
    {
     response.write("第一行的html")
    }
    %>
      

  12.   

    呵呵,应该是Container.ItemIndex,你再试试
      

  13.   

    我怎么页面上怎么写都是错?
     <%if(Container.ItemIndex==0) %>
      

  14.   

    呵呵,不偷懒了,给你认真写个示例吧
    前面aspx
    <asp:Repeater ID="Repeater1" runat="server">
            <ItemTemplate>
                <tr><td><%#Container.ItemIndex.ToString() == "0" ? "<table border='1'><tr><td>line one</td></tr></table>" : "line other"%></td></tr>            
            </ItemTemplate>
        </asp:Repeater>后面cs文件
     protected void Page_Load(object sender, EventArgs e)
            {
                List<int> li=new List<int>();
                li.Add(0);
                li.Add(1);
                Repeater1.DataSource = li;
                Repeater1.DataBind();
            }
    你试试运行后,再查看源代码,是不是你想要的,呵呵
      

  15.   

    Repeater有<HeaderTemplate> 和 <FooterTemplate>的 
      

  16.   

    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item)
        {
            if(e.Item.ItemIndex==0)
            {
              //这里就可以处理你的第一行
            }
        }
    }
      

  17.   


    <asp:Repeater ID="Repeater1" runat="server">
    <ItemTemplate>
    <asp:PlaceHolder ID="PlaceHolder1" runat="server" Visible='<%# Container.ItemIndex == 0 %>'>
    第一行的内容 </asp:PlaceHolder> <asp:PlaceHolder ID="PlaceHolder2" runat="server" Visible='<%# Container.ItemIndex > 0 %>'>
    其它行的内容 </asp:PlaceHolder>
    </ItemTemplate>
    </asp:Repeater>
      

  18.   


         <asp:Repeater ID="Repeater1" runat="server" EnableViewState="false">
     <ItemTemplate>
    <%#Container.ItemIndex==0?"第一列 "+Eval("Name").ToString():Eval("Name") %>
    </ItemTemplate>
           </asp:Repeater>