datalist的简单分页和更新

前台代码:

<asp:DataList ID="DataList1" DataKeyField="qid" runat="server" OnEditCommand="DataList1_EditCommand" OnCancelCommand="DataList1_CancelCommand" OnUpdateCommand="DataList1_UpdateCommand" OnDeleteCommand="DataList1_DeleteCommand" RepeatColumns="1" GridLines="Both" CellPadding="0" Width="225px" OnItemCommand="DataList1_ItemCommand">
            <ItemStyle BorderStyle="Solid" />
              <SelectedItemStyle BackColor="Yellow">
         </SelectedItemStyle>

            <ItemTemplate>
              编号:<%# DataBinder.Eval(Container.DataItem,"qid") %>
              来源:<%# DataBinder.Eval(Container.DataItem,"qsource")%>
              <asp:LinkButton runat="server" ID="detail" CommandName="select">详细</asp:LinkButton>
              <asp:LinkButton runat="server" ID="Edit" CommandName="Edit">编辑</asp:LinkButton>
            </ItemTemplate>
            <SelectedItemTemplate><%# DataBinder.Eval(Container.DataItem,"qsource")%>
<asp:LinkButton ID="sh" runat="server" Text="关闭查询" CommandName="close"/> </SelectedItemTemplate>
            <EditItemTemplate>
                <asp:LinkButton ID="save" runat="server" CommandName="update">保存</asp:LinkButton>
                <asp:LinkButton ID="cancel" runat="server" CommandName="cancel">取消</asp:LinkButton>
                <asp:LinkButton ID="delete" runat="server" CommandName="delete">删除</asp:LinkButton>
                <asp:TextBox ID="tbEdit" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"qsource") %>'></asp:TextBox>
            </EditItemTemplate>
        </asp:DataList>
        <asp:HyperLink id="HyperLink1" runat="server">首页</asp:HyperLink>
        <asp:HyperLink id="Hyperlink2" runat="server">上一页</asp:HyperLink>
        <asp:HyperLink id="Hyperlink3" runat="server">下一页</asp:HyperLink>
        <asp:HyperLink id="Hyperlink4" runat="server">尾页</asp:HyperLink>

后台代码:

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {

            bindata();
            pagebind();
       }
      
    }
    private void bindata()
    {
        string strsql = "select * from list";
        DataList1.DataSource = oledbaccess.getds(strsql);
        DataList1.DataBind();
    }
    private void pagebind()
    {
        string sql = "select * from list";
        PagedDataSource pds = new PagedDataSource();
        pds.DataSource = oledbaccess.getds(sql).Tables[0].DefaultView;
        pds.AllowPaging = true;
        pds.PageSize = 2;
        string pagecount = pds.PageCount.ToString();
        int curpage;
        if (Request.QueryString["Page"] != null)
        {
            curpage = Convert.ToInt32(Request.QueryString["Page"]);
        }
        else
        {
            curpage = 1;
        }
        pds.CurrentPageIndex = curpage - 1;
        if (!pds.IsFirstPage)
        {
            Hyperlink2.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(curpage - 1);
        }
        if (!pds.IsLastPage)
        {
            Hyperlink3.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(curpage + 1);
        }
        if (!pds.IsFirstPage)
        {
            HyperLink1.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=1";
        }
        if (!pds.IsLastPage)
        {
            Hyperlink4.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + pagecount;
        }

        DataList1.DataSource = pds;
        DataList1.DataBind();
    }
    protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    {
        if (e.CommandName == "select") //选择项
        {
            this.DataList1.SelectedIndex = e.Item.ItemIndex;
            this.DataList1.DataBind();
        }
        else
        {
            if (e.CommandName == "close")
            {
                DataList1.SelectedIndex = -1;
                this.DataList1.DataBind();
            }
        }
        bindata();
        pagebind();
      
    }
    protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
    {
        this.DataList1.EditItemIndex = e.Item.ItemIndex;
        this.DataList1.DataBind();
    }
    protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)
    {
        this.DataList1.EditItemIndex = -1;
        this.DataList1.DataBind();
    }
    protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
    {
        long pid = Convert.ToInt64(DataList1.DataKeys[e.Item.ItemIndex]);
        if (oledbaccess.getexec("delete from list where qid=" + pid + ""))
        {
            Response.Write("<script>alert('删除成功!')</script>");
        }
        else
        {
            Response.Write("<script>alert('删除失败!')</script>");
        }
    }
    protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
    {
        long pid = Convert.ToInt64(DataList1.DataKeys[e.Item.ItemIndex]);
        string name = ((TextBox)e.Item.FindControl("tbEdit")).Text;
        if (oledbaccess.getexec("update list set qsource='" + name + "' where qid =" + pid + ""))
        {
            Response.Write("<script>alert('更新成功!')</script>");
        }
        else
         {
             Response.Write("<script>alert('更新成功!')</script>");
        }
        DataList1.EditItemIndex = -1;
        DataList1.DataBind();
    }

posted on 2009-11-13 09:41  jay.windows  阅读(1981)  评论(0编辑  收藏  举报

导航