<asp:DataList Runat="server" ID="DataList1" RepeatColumns="4" RepeatDirection="Horizontal">
<ItemTemplate>
<td width="25%" align="center" valign="middle"><table width="96%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="30" colspan="2" align="left" valign="middle"><span class="STYLE3">
<a href='yqxx_sort.aspx?infoid=<%#DataBinder.Eval(Container.DataItem,"id").ToString().Trim()%>'>
<%#obj.mySubstring(DataBinder.Eval(Container.DataItem,"sortname").ToString().Trim(),10)%>..</span></a></td>
</tr>
<tr>
<td height="30" colspan="2">
<asp:DataList Runat=server RepeatColumns=1 RepeatDirection=Horizontal DataSource='<%#GetDataSource(DataBinder.Eval(Container.DataItem,"id").ToString().Trim())%>' ID="Datalist2">
<ItemTemplate>
<a href='yqxx.aspx?infoid=<%#DataBinder.Eval(Container.DataItem,"id").ToString().Trim()%>'>
<%#DataBinder.Eval(Container.DataItem,"sortname").ToString().Trim()%>
</a>
</ItemTemplate>
</asp:DataList>
</td>
</tr>
<tr>
<td width="200" height="20" align="right" valign="middle">>><a href='yqxx_sort.aspx?infoid=<%#DataBinder.Eval(Container.DataItem,"id").ToString().Trim()%>'>更多</a></td>
<td width="40" align="right" valign="middle"> </td>
</tr>
</table>
</td>
</ItemTemplate>
</asp:DataList>怎么让ItemTemplate的数据一行白色,一行灰色呀???
<ItemTemplate>
<td width="25%" align="center" valign="middle"><table width="96%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="30" colspan="2" align="left" valign="middle"><span class="STYLE3">
<a href='yqxx_sort.aspx?infoid=<%#DataBinder.Eval(Container.DataItem,"id").ToString().Trim()%>'>
<%#obj.mySubstring(DataBinder.Eval(Container.DataItem,"sortname").ToString().Trim(),10)%>..</span></a></td>
</tr>
<tr>
<td height="30" colspan="2">
<asp:DataList Runat=server RepeatColumns=1 RepeatDirection=Horizontal DataSource='<%#GetDataSource(DataBinder.Eval(Container.DataItem,"id").ToString().Trim())%>' ID="Datalist2">
<ItemTemplate>
<a href='yqxx.aspx?infoid=<%#DataBinder.Eval(Container.DataItem,"id").ToString().Trim()%>'>
<%#DataBinder.Eval(Container.DataItem,"sortname").ToString().Trim()%>
</a>
</ItemTemplate>
</asp:DataList>
</td>
</tr>
<tr>
<td width="200" height="20" align="right" valign="middle">>><a href='yqxx_sort.aspx?infoid=<%#DataBinder.Eval(Container.DataItem,"id").ToString().Trim()%>'>更多</a></td>
<td width="40" align="right" valign="middle"> </td>
</tr>
</table>
</td>
</ItemTemplate>
</asp:DataList>怎么让ItemTemplate的数据一行白色,一行灰色呀???
<ItemStyle ForeColor="#003399" ItemStyle>2.在databinder事件中用奇数和偶数设置e.Item .BackColor =Color.Snow
System.Web.UI.WebControls.DataListItemEventArgs e)
{
DataRowView drv = (DataRowView)(e.Item.DataItem);
int quantity = int.Parse(drv.Row["Quantity"].ToString());
if (quantity < 10)
{
e.Item.BackColor = Color.Red;
}
}
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 87: {
行 88: DataRowView drv = (DataRowView)(e.Item.DataItem);
行 89: int quantity = int.Parse(drv.Row["quantity"].ToString());
行 90: if(quantity < 10)
行 91: {
把需要摸板的转成模板列...在数据绑定的事件里添代码.判断是交替项的时候加什么颜色..正常项的时候加什么颜色.
接着在前台可以这样写代码:
<asp:DataList id="DataList1" runat="server">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"UserName")%>
</ItemTemplate>
<AlternatingItemStyle BackColor=#ffcc33></AlternatingItemStyle>
<AlternatingItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"UserName")%>
</AlternatingItemTemplate>
</asp:DataList>
其实就是设置交替列(<AlternatingItemTemplate>)样式了过程.只要将它的背景颜色设置一下就可以了.
多余的操作是不需要的.
{
bg="#ffffff";
if(Convert.ToInt32(dr["id"])%2==0)
{
bg="#E2F1FF";
}
result.Append("<tr height=26px bgColor="+bg+" onmouseover='this.style.backgroundColor=#ffffe0' onmouseout='this.style.backgroundColor=#ffffff'>");
result.Append("<td align=left width=120px>"+Convert.ToString(dr["game"]) +"</td>");
}
现在用while来判断,当id=奇数时,bgcolor=白色,
当id=偶数时,bgcolor=灰色,
这样读取后把结果绘制成一个表,显示一下就行啦,
给你一个思路,不知道有没有用!
我今天也刚好在做这个,呵呵
---------------
不会重复,你一试就知道了.
<%@ Page language="c#" Codebehind="datalist.aspx.cs" AutoEventWireup="false" Inherits="example.datalist" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>datalist</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" 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">
<table cellpadding="1" cellspacing="1" border="0" bgcolor="#000000" width="100%">
<tr>
<td bgcolor="#ffffff">
<asp:DataList id="DataList1" runat="server" Width="100%">
<ItemStyle Width="50px" Height="30px"></ItemStyle>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"cln1")%>-
<%# Container.ItemIndex+1 %>
</ItemTemplate>
<AlternatingItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"cln1")%>
-<%# Container.ItemIndex+1 %>
</AlternatingItemTemplate>
<AlternatingItemStyle BackColor="LightGrey"></AlternatingItemStyle>
</asp:DataList>
</td>
</tr>
</table>
<asp:Label id="Label1" style="Z-INDEX: 101; LEFT: 304px; POSITION: absolute; TOP: 424px" runat="server">Label</asp:Label></form>
</body>
</HTML>
CS代码:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace example
{
/// <summary>
/// datalist 的摘要说明。
/// </summary>
public class datalist : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.DataList DataList1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
DataList1.RepeatColumns=4;//设置DataList1要显示的列数
if(!IsPostBack)
{
DataBindForDataList1();
}
} private void DataBindForDataList1()
{
ArrayList al=new ArrayList(100);
for(int i=0;i<100;i++)
{
al.Add(i);
} DataTable dt=new DataTable();
DataColumn cln=new DataColumn("cln1");
dt.Columns.Add(cln);
for(int i=0;i<79;i++)
{
DataRow row=dt.NewRow();
dt.Rows.Add(row);
row[cln]=al[i]; }
DataList1.DataSource=dt;
DataList1.DataBind();
string d="123456789";
d=d.Substring(d.Length-4);
Response.Write(d);
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
}
{
try
{
if (e.Row.RowIndex > -1)
{
e.Row.Cells[1].Text = "<a target='_blank' href='LawRuleBrowse.aspx?LawruleID=" + Tool.UtilTool.ToSafeInt32(gvLawRule.DataKeys[e.Row.RowIndex].Value) + "'>" + e.Row.Cells[1].Text + "</a>";//链接转到别的页上 if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowType != DataControlRowType.Header)
{
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#cccccc'");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#ffffff'");
}
}
}
}
catch (Exception ex)
{
this.lblMessage.Text = ex.Message;
}
}
以下是我的,很简单的!<table width="796" height="414" border="0" cellpadding="0" cellspacing="1" bgcolor="#0099ff">
<tr>
<td width="790" height="39" bgcolor="#ffffff">
<asp:Label id="SumLabel" runat="server" Width="544px"></asp:Label>
<asp:HyperLink id="FirstLink" runat="server">首 页</asp:HyperLink>
<asp:HyperLink id="PerLink" runat="server">上一页</asp:HyperLink>
<asp:HyperLink id="NextLink" runat="server">下一页</asp:HyperLink>
<asp:HyperLink id="LastLink" runat="server">末 页</asp:HyperLink></td>
</tr>
<tr>
<td height="372" valign="top" bgcolor="#ffffff" align="center"><table>
<asp:DataList id="MsgDgDList" runat="server" DataKeyField="id">
<HeaderTemplate>
<!--DWLayoutTable-->
<tr bgcolor="#0099ff">
<td width="76" height="27" valign="top">留言时间</td>
<td width="516" valign="top">留言标题</td>
<td width="194" valign="top" colspan="2">留言者</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td width="72"><%#DataBinder.Eval(Container.DataItem,"TimeInsert","{0:yyyy-MM-dd}")%></td>
<td width="513" bgcolor="#FFFFFF"><%#DataBinder.Eval(Container.DataItem,"Title")%></td>
<td width="116"><%#DataBinder.Eval(Container.DataItem,"MessagerName")%></td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr bgcolor="#d8e7ff"> //这里就是交替的颜色
<td width="72" bgcolor="#E1EDFF"><%#DataBinder.Eval(Container.DataItem,"TimeInsert","{0:yyyy-MM-dd}")%></td>
<td width="513" bgcolor="#E1EDFF"><%#DataBinder.Eval(Container.DataItem,"Title")%></td>
<td width="116" bgcolor="#E1EDFF"><%#DataBinder.Eval(Container.DataItem,"MessagerName")%></td>
</tr>
</AlternatingItemTemplate>
</asp:DataList>
</table>
</td>
</tr>
</table>