明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

VB.NET完成DataList橫向數(shù)據(jù)交替變色

[摘要]昨天群里一個(gè)網(wǎng)友在說交替行變色的問題,我一看,這很簡單啊,不就是設(shè)置一下交替項(xiàng)的背景色不就行了嗎?本身DataList他的樣式也提供設(shè)置啊,不會嗎?但是他給我說了。他數(shù)據(jù)是設(shè)置一行顯示N條數(shù)據(jù)的,所以如果說設(shè)置了那個(gè)交替項(xiàng)的背景色的話根本就沒用.這樣設(shè)置了后,變成對項(xiàng)起作用了。就是說一行有N項(xiàng),然...
昨天群里一個(gè)網(wǎng)友在說交替行變色的問題,我一看,這很簡單啊,不就是設(shè)置一下交替項(xiàng)的背景色不就行了嗎?本身DataList他的樣式也提供設(shè)置啊,不會嗎?但是他給我說了。他數(shù)據(jù)是設(shè)置一行顯示N條數(shù)據(jù)的,所以如果說設(shè)置了那個(gè)交替項(xiàng)的背景色的話根本就沒用.這樣設(shè)置了后,變成對項(xiàng)起作用了。就是說一行有N項(xiàng),然后那個(gè)交替色就變成在這N項(xiàng)當(dāng)中交替了.....

  啊!看來我把問題看簡單了!當(dāng)時(shí)我想好像很少遇到過,要不自己試試!...倒.因?yàn)樽罱那楹軌阂?心情不太好.煩.沒多少心情認(rèn)真去思考解決方式,用常規(guī)自己能想到的幾種解決都無法實(shí)現(xiàn),解決很暈.然后逆,就索性不去想了.晚上聽完廣播后才又想起我要考慮這個(gè)問題,呵呵,只用了5分鐘時(shí)間就想到了這個(gè)解決方式,然后逆,又用了5分鐘時(shí)間去考證是否可行.今天早上來一擺弄,就可以起了。呵呵!

  廢話就不多說了.這個(gè)方法也是我唯一想到的方法,如果您有什么更好的方法,您也可以在這里給我提出.非常感謝!

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm15.aspx.vb" Inherits="WebApplication12.WebForm15"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    <HEAD>
        <title>WebForm15</title>
        <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
        <meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
        <meta content="JavaScript" name="vs_defaultClientScript">
        <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
        <form id="Form1" method="post" runat="server">
            <asp:datalist id="DataList1" style="Z-INDEX: 101; LEFT: 111px; POSITION: absolute; TOP: 54px"
                runat="server" RepeatDirection="Horizontal" RepeatColumns="3" Width="234px">
                <ItemTemplate>
                    <asp:Label ID="lblmsg" Runat=server Text=''<%# DataBinder.Eval(Container.DataItem,"id").ToString() %>''>
                    </asp:Label>
                </ItemTemplate>
                <AlternatingItemTemplate>
                    <asp:Label ID="Label2" Runat=server Text=''<%# DataBinder.Eval(Container.DataItem,"id").ToString() %>''>
                    </asp:Label>
                </AlternatingItemTemplate>
            </asp:datalist></form>
    </body>
</HTML>


Imports System
Imports System.Data
Imports System.Data.oledb

Public Class WebForm15Class WebForm15
    Inherits System.Web.UI.Page

Web 窗體設(shè)計(jì)器生成的代碼#Region " Web 窗體設(shè)計(jì)器生成的代碼 "

    ''該調(diào)用是 Web 窗體設(shè)計(jì)器所必需的。
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()

    End Sub
    Protected WithEvents DataList1 As System.Web.UI.WebControls.DataList

    ''注意: 以下占位符聲明是 Web 窗體設(shè)計(jì)器所必需的。
    ''不要?jiǎng)h除或移動(dòng)它。
    Private designerPlaceholderDeclaration As System.Object

    Private Sub Page_Init()Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        ''CODEGEN: 此方法調(diào)用是 Web 窗體設(shè)計(jì)器所必需的
        ''不要使用代碼編輯器修改它。
        InitializeComponent()
    End Sub

#End Region
    Dim conn As OleDbConnection
    Dim i As Integer

    Private Sub Page_Load()Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ''在此處放置初始化頁的用戶代碼
        conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("data/link.mdb"))
        Dim cmd As New OleDbDataAdapter("select top 15 id,jj from link", conn)
        Dim ds As New DataSet
        cmd.Fill(ds, "tab")

        DataList1.DataSource = ds.Tables("tab")
        DataList1.DataBind()
    End Sub

    Private Sub DataList1_ItemDataBound()Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles DataList1.ItemDataBound
        i = i + 1
        If i > 3 And i <= 6 Then
            e.Item.BackColor = Color.Blue
        End If
        If i >= 6 Then
            i = 0
        End If
    End Sub
End Class

  在補(bǔ)充一下,這里的i>3 and i<=6這個(gè),我剛才沒講清楚,可能您有點(diǎn)困惑呢!

  因?yàn)槲疫@里是每行顯示三條數(shù)據(jù)啦.所以這里是3和6,如果您是5條的話,那么就是5和10了,以此類推!