ASP.NET使用Repeater做Table交替行變色、滑鼠經過變色及單擊變色效果

來源:互聯網
上載者:User
ASP.NET使用Repeater做Table交替行變色、滑鼠經過變色及單擊變色效果

本文教程是ASP.NET開發使用Repeater控制項綁定資料列表,資料列表要做出的效果如Table交替行顏色、滑鼠經過顏色、單擊顏色,效果如下:

 

要實現這個效果很簡單,都是入門級的吧。下面看下是如何?的?

前台.ASPX內容如下

HTML Code [http://www.xueit.com] 

<%@ Page Title="" Language="C#" MasterPageFile="~/SystemBase/MainMasterPage.master"

    AutoEventWireup="true" CodeFile="Spreater.aspx.cs" Inherits="Spreater" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">

<script src="App_Js/JSCommon.js" type="text/javascript">

</script>

    <div style="width: 800px">

           <ContentTemplate>

                <asp:Repeater ID="Rep" runat="server">

                    <HeaderTemplate>

                        <table id="Tab" class="Rep_tab">

                            <tr>

                                <th style="width:120px"> 組編號</th>

                                <th style="width: 120px"> 組名稱

</th>

                                <th style="width: 100px"> 組上級編號

</th>

                                <th style="width: 120px">

序號

</th>

                                <th style="width: 80px"> 層次

</th>

                                <th style="width: 160px">

子組資料

</th>

                                <th style="width: 160px">

標誌

</th>

                            </tr>

                    </HeaderTemplate>

                    <ItemTemplate>

                        <tr>                            <td><%#DataBinder.Eval(Container.DataItem,"GroupID")%></td>                            <td><%#DataBinder.Eval(Container.DataItem,"G_CName")%></td>

<td><%#DataBinder.Eval(Container.DataItem,"G_ParentID")%></td>

<td><%#DataBinder.Eval(Container.DataItem,"G_ShowOrder")%></td>

<td><%#DataBinder.Eval(Container.DataItem,"G_Level")%></td>

<td><%#DataBinder.Eval(Container.DataItem,"G_ChildCount")%></td>

<td><%#DataBinder.Eval(Container.DataItem,"G_Delete")%></td>

</tr>

                    </ItemTemplate>

                    <FooterTemplate>

                        </table>

                    </FooterTemplate>

                </asp:Repeater>

                <div style="width: 80%">

                </div>

                </div>

           </ContentTemplate>

    </div>

<script type="text/javascript" language="javascript">

    window.onload =SetTableColor("Tab");

</script>

</asp:Content>

下面是JS關鍵代碼:

function SetTableColor(TableID) {
    var clickClass = "";        //點擊樣式名
    var moveClass = "";         //滑鼠經過樣式名
    var clickTR = null;         //點擊的行
    var moveTR = null;          //滑鼠經過行
    var Ptr = document.getElementById(TableID).getElementsByTagName("tr");
    for (i = 1; i < Ptr.length   1; i  ) {
        Ptr[i - 1].className = (i % 2 > 0) ? "Rep_Tab_EvenTr" : "Rep_Tab_OddTr";
    }
    //設定滑鼠的動作事件
    for (var i = 1; i < Ptr.length; i  ) {
        var Owner = Ptr[i].item;
        //滑鼠經過事件
        Ptr[i].onmouseover = function Move() {
            if (clickTR != this) {
                if (moveTR != this) {
                    moveClass = this.className;
                    moveTR = this;
                    this.className = "Rep_Tr_Move";
                }
            }
        }
        //滑鼠離開事件
        Ptr[i].onmouseout = function Out() {
            if (clickTR != this) {
                moveTR = null;
                this.className = moveClass;
            }
        }
        //按一下滑鼠事件
        Ptr[i].onclick = function Ck() {
            if (clickTR != this) {
                if (clickTR) {
                    clickTR.className = clickClass;
                }
                clickTR = this;
                clickClass = moveClass;
            }
            this.className = "Rep_Tr_Click";
        }
    }
}

接下來我們再來看下CSS樣式關鍵代碼:

/*-----------------重複器控制項內部Table樣式定義-----------------*/
/* Repeater內部Table的樣式 */
.Rep_tab
{
    width: 100%;
    margin: 0px auto;
    font: Georgia 11px;
    font-size: 12px;
    font-family: Tahoma, Arial, Helvetica, Sans-serif, "宋體";
    color: #333333;
    text-align: center;
    vertical-align:middle;
    border-collapse: collapse; /*細線表格代碼*/
    
}
/* Repeater內部Table的td樣式 */
.Rep_tab td
{
    border:1px solid #4d9ab0; /*細線表格線條顏色*/
    height: 25px;
}
/* Repeater內部Table的caption樣式 */
.Rep_tab caption
{
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    margin: 0 auto;
}
/* Repeater內部Table的TR的奇數行樣式 */
.Rep_Tab_OddTr
{
    background-color: #f8fbfc;
    color: #000000;
    height: 25px;
     
}
/* Repeater內部Table的TR的偶數行樣式 */
.Rep_Tab_EvenTr
{
    background-color: #e5f1f4;
    color: #000000;
    height: 25px;
}
.Rep_Tab_HeaderTr
{
    background-color: #ffffee;
    color: #000000;
}
/*滑鼠經過的顏色*/
.Rep_Tr_Move
{
    background-color: #ecfbd4;
    color: #000000;
    height: 25px;
}
/* 滑鼠點擊的顏色*/
.Rep_Tr_Click
{
    background-color: #bce774;
    color: #333333;
    height: 25px;
}

做好以上代碼後,之後在.ASPX頁面內容的<body>上加如下語句:

<script type="text/javascript"language="javascript">

window.onload =SetTableColor("Tab");</script>

這樣就可以了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.