DataList用法+DataGrid分页的例子

DataList用法

//DataList套用table要放在外才行
<table>   
            <asp:DataList id="DataList1" style="Z-INDEX: 101; LEFT: 32px; POSITION: absolute; TOP: 144px"
                runat="server" Height="176px">           
          <headertemplate>
            <tr><td>A1</td><td>A2</td><td>A3</td><td>A4</td><td>A5</td><td>A6</td><td>A7</td><td>A8</td><td>修改</td><td>删除</td></tr>
          </headertemplate>         
          <itemtemplate>
          <tr>
            <td><%# DataBinder.(Container.DataItem,"A1") %></td>
            <td><%# DataBinder.(Container.DataItem,"A2") %></td>
            <td><%# DataBinder.(Container.DataItem,"A3") %></td>
            <td><%# DataBinder.(Container.DataItem,"A4") %></td>
            <td><%# DataBinder.(Container.DataItem,"A5") %></td>
            <td><%# DataBinder.(Container.DataItem,"A6") %></td>
            <td><%# DataBinder.(Container.DataItem,"A7") %></td>
            <td><%# DataBinder.(Container.DataItem,"A8") %></td>
            <td><a href='UpdateTable.aspx?id=<%# DataBinder.(Container.DataItem,"id") %>'  target="_blank"> 修改</a></td>
            <td><a href='WebForm1.aspx?id=<%# DataBinder.(Container.DataItem,"id") %>'> 删除</a></td>
           
          </tr></itemtemplate>         
            </asp:DataList>
            </table>

 

 
DataGrid分页的例子

 

<%@ Page language="c#" Codebehind="ArticleList.aspx.cs" AutoEventWireup="false" Inherits="MyCms.Manage.ArticleList" %>
<%@ Register TagPrefix="uc1" TagName="LeftMenu" Src="LeftMenu.ascx" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    <HEAD>
        <title>ArticleList</title>
        <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body bgColor="#e6e7e8" leftMargin="0" topMargin="0" marginheight="0" marginwidth="0">
        <form id="MainForm" method="post" runat="server">
            <input id="txtID" type="hidden" name="txtID" runat="server">
            <table height="100%" cellSpacing="0" cellPadding="0" width="87%" align="center" bgColor="#ffffff" border="0">
                <tr>
                    <td style="WIDTH: 913px; HEIGHT: 74px" colSpan="2">
                        <table height="6%" cellSpacing="0" cellPadding="0" border="0">
                            <tr>
                                <td><IMG src="/MyCms/images/top_1.jpg" border="0"></td>
                                <td><IMG src="/MyCms/images/top_2.jpg" border="0"></td>
                            </tr>
                        </table>
                    </td>
                </tr>
                <tr>
                    <td align="left" width="100%" background="/MyCms/images/bgimg.gif" colSpan="2" height="3"></td>
                </tr>
                <tr>
                    <td vAlign="top" width="23%" bgColor="#cceeff"><uc1:leftmenu id="LeftMenu1" runat="server" XmlSrc="menu.xml" Column="User"></uc1:leftmenu></td>

 

                  <td vAlign="top" width="77%">
                        <table cellSpacing="0" cellPadding="0" width="100%" border="0">
                            <tr>
                                <td width="4%"></td>
                                <td width="92%">
                                    <table cellSpacing="0" cellPadding="6" width="100%" align="center" border="0">
                                        <tr bgColor="#ff9900" width="100%">
                                            <td align="center" colSpan="2">
<DIV id="lblTitle" runat="server">文章列表:</DIV>
</td>
                                        </tr>
                                        <tr>
                                            <td align="center" bgColor="#ffff66" colSpan="2"><asp:datagrid id="dtgArticle" runat="server" Font-Names="Arial" Font-Size="12px" AllowPaging="True" Height="0px" Width="98%" BorderColor="#E6E7E8" BackColor="White" BorderWidth="1px" cellPadding="4" BorderStyle="None" AutoGenerateColumns="False">
                                                   <SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
    <AlternatingItemStyle HorizontalAlign="Center" ForeColor="Black" BackColor="#EBF8FE"></AlternatingItemStyle>
    <ItemStyle HorizontalAlign="Center" ForeColor="Black" BackColor="White"></ItemStyle>
    <HeaderStyle Font-Size="12px" Font-Names="Arial" Font-Bold="True" HorizontalAlign="Center" ForeColor="White" BackColor="#FF9900"></HeaderStyle>

    <FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
    <Columns>
        <asp:BoundColumn DataField="article_title" HeaderText="文章标题"></asp:BoundColumn>
        <asp:BoundColumn DataField="article_author" HeaderText="文章作者"></asp:BoundColumn>
        <asp:BoundColumn DataField="article_time" HeaderText="建立时间" DataFormatString="{0:yyyy.M.d HH:mm}"></asp:BoundColumn>
        <asp:TemplateColumn>
            <HeaderTemplate>

 

                <FONT face="宋体"></FONT>
            </HeaderTemplate>

 

            <ItemTemplate>
                <FONT face="宋体">&nbsp;</FONT>
                <asp:LinkButton id=btnModify runat="server" Text="修改" CommandArgument='<%# ((System.Data.DataRowView)Container.DataItem)["article_id"] %>'CommandName="Update">
                    <img border="0" src="/MyCms/images/Update.gif"></asp:LinkButton>

 

                <asp:LinkButton id=btnDelete runat="server" Text="删除" CommandArgument='<%# ((System.Data.DataRowView)Container.DataItem)["article_id"] %>'CommandName="Delete">

 

                    <img border="0" src="/MyCms/images/delete.gif" onClick="javascript:{return confirm('删除操作不可恢复,确认吗?');}"></asp:LinkButton>&nbsp;
            </ItemTemplate>
        </asp:TemplateColumn>

 

    </Columns>

 

   <PagerStyle Font-Size="12px" Font-Names="Arial" HorizontalAlign="Left" oreColor="Blue" BackColor="White" Mode="NumericPages"></PagerStyle>

 

</asp:datagrid></td>
                                        </tr>
                                    </table>
                                </td>
                                <td width="4%"></td>
                            </tr>
                            <tr>
                                <td align="center"colSpan="2"><asp:linkbutton id="btnNew" runat="server" Text="New">
                                        <img border="0" src="/MyCms/images/Add.gif"></asp:linkbutton></td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </form>
        <!-- #include virtual="/MyCms/ProjectHelp/Foot.html" -->
    </body>
</HTML>

----------------------后台代码--------------------------------
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;
using System.Text;
using TSQLDB;


namespace MyCms.Manage
{
    /// <summary>
    /// ArticleList 的摘要说明。
    /// </summary>
    public class ArticleList : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.LinkButton btnNew;
        protected System.Web.UI.HtmlControls.HtmlInputHidden txtID;
        protected System.Web.UI.WebControls.DataGrid dtgArticle;
        protected System.Web.UI.HtmlControls.HtmlGenericControl lblTitle;
  
        private string _columnID;

        private void Page_Load(object sender, System.EventArgs e)
        {
            TCmsUser.CheckUser(this.Page);

            this._columnID=this.Request["cid"];
            if(!this.IsPostBack)
            {
                this.RefreshDataGrid();
            }
        }

        private void RefreshDataGrid()
        {
            TArticleRset articleSet=new TArticleRset(this._columnID);
            this.dtgArticle.DataSource=articleSet.DefaultView;
            this.dtgArticle.DataBind();
        }

        #region Web 窗体设计器生成的代码
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
            //
            InitializeComponent();
            base.OnInit(e);
        }
      
        /// <summary>
        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
        /// 此方法的内容。
        /// </summary>
        private void InitializeComponent()
        
            this.dtgArticle.ItemCreated += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dtgArticle_ItemCreated);
            this.dtgArticle.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dtgArticle_ItemCommand);
            this.dtgArticle.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.dtgArticle_PageIndexChanged);
            this.btnNew.Click += new System.EventHandler(this.btnNew_Click);
            this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion

        private void dtgArticle_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            LinkButton lb=(LinkButton)e.CommandSource;
            switch(lb.CommandName)
            {
                case "Update":
                    this.Response.Redirect("Article.aspx?cid="+this._columnID+"&aid="+lb.CommandArgument);
                    break;
                case "Delete":
                    TArticle.DeleteByID(lb.CommandArgument);
                    this.RefreshDataGrid();
                    break;
            }
        }

        private void dtgArticle_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
        {
            this.dtgArticle.CurrentPageIndex=e.NewPageIndex;
            this.RefreshDataGrid();
        }

        private void dtgArticle_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
        {
            ListItemType elemType = e.Item.ItemType;
            if (elemType == ListItemType.Pager)
            {
                // 自制翻页的标签
                TableCell pager = (TableCell)e.Item.Controls[0];
                if (pager.Controls.Count>1)
                {
                    Table t= new Table();
                    TableRow tr;
                    TableCell td;
                    t.CellPadding= 2;
                    t.CellSpacing= 0;

                    tr= new TableRow();
                    td= new TableCell();
                    td.Height= 20;
                    tr.Controls.Add(td);
                    t.Controls.Add(tr);

                    tr= new TableRow();
                    for (int i=0; i<pager.Controls.Count; i+=1)
                    {
                        td= new TableCell();
                        td.BorderWidth= 1;
                        td.BorderColor= Color.FromArgb(0xCC,0xCC,0xCC);
                        td.ControlStyle.Font.Name= "Arial";
                        td.ControlStyle.Font.Size= 9;
                        td.Width= 12;
                        td.HorizontalAlign= HorizontalAlign.Center;
                        td.Controls.Add(pager.Controls[i]);
                        tr.Controls.Add(td);
                    }
                    t.Controls.Add(tr);
                    pager.Controls.Clear();
                    pager.Controls.Add(t);
                }
                else
                    pager.Controls.Clear();
            }

        }

        private void btnNew_Click(object sender, System.EventArgs e)
        {
            Server.Transfer("Article.aspx?cid="+this._columnID);
        }
    }
}

 

posted on 2009-05-06 22:55  关寒融冰  阅读(533)  评论(0编辑  收藏  举报

鲁ICP备07018066号-1