1.在Datalist显示项的时候背景色是一行红色,一行蓝色这样循环显示,怎么弄?2.怎么对Datalist分页?

解决方案 »

  1.   

    1.在属性生成器(Property Builder)》Format》Items里面设置
    2.自己写 搜索一下 很多
      

  2.   

    Datalist里有模板列,你看看分页嘛:
    <% @ Page Language="C#" %>
    <% @ Import Namespace="System.Data" %>
    <% @ Import Namespace="System.Data.OleDb" %>
    <Script Language="C#" Runat="Server">
    OleDbConnection MyConn;
    int PageSize,RecordCount,PageCount,CurrentPage;
    public void Page_Load(Object src,EventArgs e)
    {
    //设定PageSize
    PageSize = 5;//连接语句
    string MyConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(".")+"..\\DataBase\\db1.mdb;";
    MyConn = new OleDbConnection(MyConnString);
    MyConn.Open();//第一次请求执行
    if(!Page.IsPostBack)
    {
    ListBind();
    CurrentPage = 0;
    ViewState["PageIndex"] = 0;//计算总共有多少记录
    RecordCount = CalculateRecord();
    lblRecordCount.Text = RecordCount.ToString();//计算总共有多少页
    PageCount = RecordCount/PageSize;
    lblPageCount.Text = PageCount.ToString();
    ViewState["PageCount"] = PageCount;
    }
    }
    //计算总共有多少条记录
    public int CalculateRecord()
    {
    int intCount;
    string strCount = "select count(*) as co from Score";
    OleDbCommand MyComm = new OleDbCommand(strCount,MyConn);
    OleDbDataReader dr = MyComm.ExecuteReader();
    if(dr.Read())
    {
    intCount = Int32.Parse(dr["co"].ToString());
    }
    else
    {
    intCount = 0;
    }
    dr.Close();
    return intCount;
    }ICollection CreateSource()
    {int StartIndex;//设定导入的起终地址
    StartIndex= CurrentPage*PageSize;
    string strSel = "select * from Score";
    DataSet ds = new DataSet();OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strSel,MyConn);
    MyAdapter.Fill(ds,StartIndex,PageSize,"Score");return ds.Tables["Score"].DefaultView;
    }
    public void ListBind()
    {
    score.DataSource = CreateSource();
    score.DataBind();lbnNextPage.Enabled = true;
    lbnPrevPage.Enabled = true;
    if(CurrentPage==(PageCount-1)) lbnNextPage.Enabled = false;
    if(CurrentPage==0) lbnPrevPage.Enabled = false;
    lblCurrentPage.Text = (CurrentPage+1).ToString();}public void Page_OnClick(Object sender,CommandEventArgs e)
    {
    CurrentPage = (int)ViewState["PageIndex"];
    PageCount= (int)ViewState["PageCount"];string cmd = e.CommandName;
    //判断cmd,以判定翻页方向
    switch(cmd)
    {
    case "next":
    if(CurrentPage<(PageCount-1)) CurrentPage++;
    break;
    case "prev":
    if(CurrentPage>0) CurrentPage--;
    break;
    }ViewState["PageIndex"] = CurrentPage;ListBind();}
    </script>
    <html>
    <head>
    <title></title>
    </head>
    <body>
    <form runat="server">
    共有<asp:Label id="lblRecordCount" ForeColor="red" runat="server" />条记录&nbsp;
    当前为<asp:Label id="lblCurrentPage" ForeColor="red" runat="server" />/<asp:Label id="lblPageCount" ForeColor="red" runat="server" />页&nbsp;<asp:DataList id="score" runat="server"
    HeaderStyle-BackColor="#aaaadd"
    AlternatingItemStyle-BackColor="Gainsboro"
    EditItemStyle-BackColor="yellow"
    >
    <ItemTemplate>
    姓名:<%# DataBinder.Eval(Container.DataItem,"Name") %>
    </ItemTemplate>
    </asp:DataList>
    <asp:LinkButton id="lbnPrevPage" Text="上一页" CommandName="prev" OnCommand="Page_OnClick" runat="server" />
    <asp:LinkButton id="lbnNextPage" Text="下一页" CommandName="next" OnCommand="Page_OnClick" runat="server" /></form>
    </body>
    </html>
      

  3.   

    1.在Datalist显示项的时候背景色是一行红色,一行蓝色这样循环显示,怎么弄?用交替模版列设置属性