VB.NET完成DataList橫向數(shù)據(jù)交替變色
發(fā)表時(shí)間:2024-02-14 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]昨天群里一個(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了,以此類推!