zoukankan      html  css  js  c++  java
  • onmouseover和onmouseout在Repeater控件中应用

    如果你曾看过这篇,http://www.cnblogs.com/insus/articles/1411057.html ,它是在GridView控件中演示,但是它的方法在Repeater控件是无法复制的。
    由于看到论坛上有网友问及,花上一点点时间做了Repeater控件的演示。首先看看效果(动画结束,尝试刷新网页):


    为了能在Repeater控件上实现onmouseover和onmouseout样式,Insus.NET想只要控到表的行即可,在Repeater控件的OnItemCreated事件中去实现,需要分别写好ItemTemplate模版与AlternatingItemTemplate模版,另外还注意的地方,就是把tr转为web控件,这样好在cs好找到。

    .aspx(部分):

    View Code
     <asp:Repeater ID="Repeater1" runat="server" OnItemCreated="Repeater1_ItemCreated">
                
    <HeaderTemplate>
                    
    <table border="1" cellpadding="3" cellspacing="0">
                        
    <tr>
                            
    <td>
                                MediaTypeId
                            
    </td>
                            
    <td>
                                TypeName
                            
    </td>
                            
    <td>
                                Description
                            
    </td>
                            
    <td>
                                IsActive
                            
    </td>
                            
    <td>
                                CreateDate
                            
    </td>
                        
    </tr>
                
    </HeaderTemplate>            
                
    <ItemTemplate>
                    
    <tr id="itl" runat="server">
                        
    <td>
                            
    <%Eval("MediaTypeId"%>
                        
    </td>
                        
    <td>
                            
    <%Eval("TypeName")%>
                        
    </td>
                        
    <td>
                            
    <%Eval("Description")%>
                        
    </td>
                        
    <td>
                            
    <%Eval("IsActive")%>
                        
    </td>
                        
    <td>
                            
    <%Eval("CreateDate")%>
                        
    </td>
                    
    </tr>
                
    </ItemTemplate>
                
    <AlternatingItemTemplate>
                    
    <tr id="att" runat="server">
                        
    <td>
                            
    <%Eval("MediaTypeId"%>
                        
    </td>
                        
    <td>
                            
    <%Eval("TypeName")%>
                        
    </td>
                        
    <td>
                            
    <%Eval("Description")%>
                        
    </td>
                        
    <td>
                            
    <%Eval("IsActive")%>
                        
    </td>
                        
    <td>
                            
    <%Eval("CreateDate")%>
                        
    </td>
                    
    </tr>
                
    </AlternatingItemTemplate>
                
    <FooterTemplate>
                    
    </table>
                
    </FooterTemplate>
            
    </asp:Repeater>

    .aspx.cs(部分),有一点需要留意的是,首先获取行的BackColor,这样好的Mouse out时,回复原来的Color:

    View Code
     protected void Repeater1_ItemCreated(object sender, RepeaterItemEventArgs e)
        {
            
    if (e.Item.ItemType == ListItemType.Item)
            {
                
    if (e.Item.FindControl("itl"!= null)
                {
                    HtmlTableRow htr_itl 
    = (HtmlTableRow)e.Item.FindControl("itl");
                    ApplyStyle(htr_itl, htr_itl.BgColor);
                }
            }

            
    if (e.Item.ItemType == ListItemType.AlternatingItem)
            {
                
    if (e.Item.FindControl("att"!= null)
                {
                    HtmlTableRow htr_att 
    = (HtmlTableRow)e.Item.FindControl("att");
                    ApplyStyle(htr_att, htr_att.BgColor);
                }
            }
        }

        
    private void ApplyStyle(HtmlTableRow htr, string trBackColor)
        {
            
    string onmouseoverStyle = "this.style.backgroundColor='Peachpuff'";
            
    string onmouseoutStyle = "this.style.backgroundColor='@BackColor'";

            htr.Attributes.Add(
    "onmouseover", onmouseoverStyle);
            htr.Attributes.Add(
    "onmouseout", onmouseoutStyle.Replace("@BackColor", trBackColor));

        }
  • 相关阅读:
    POJ 3468 A Simple Problem with Integers(线段树区间求和)
    windows+Ubuntu双系统 windows引导修复
    CSDN博文大赛火爆开启
    TNS-12541,TNS-12560,TNS-00511,TNS-12542,TNS-12560,TNS-00512数据库启动监听报错
    MResource
    【LeetCode】【Python】Linked List Cycle
    中间件解析FDMEMTABLE.delta生成SQL的方法
    TDSTCPServerTransport 的Filters
    DATASNAP压缩过滤器的使用
    咏南CS插件开发框架也可BS方式部署
  • 原文地址:https://www.cnblogs.com/insus/p/2090071.html
Copyright © 2011-2022 走看看