DataList编辑、更新、取消、删除、分页

html代码:

<% ... @PageLanguage="C#"AutoEventWireup="true"CodeFile="DataList_DeleteUpdate1.aspx.cs"
Inherits
="DataList_DataList_DeleteUpdate1"
%>

<% ... @RegisterAssembly="AspNetPager"Namespace="Wuqi.Webdiyer"TagPrefix="webdiyer" %>
<! DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > DataList编辑、更新、取消、删除、分页 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< table width ="100%" border ="0" cellpadding ="0" cellspacing ="0" >
< tr >
< td >
< asp:DataList ID ="DataList1" runat ="server" Font-Size ="12px" Width ="100%" DataKeyField ="ProductID"
OnCancelCommand
="DataList1_CancelCommand" OnDeleteCommand ="DataList1_DeleteCommand"
OnEditCommand
="DataList1_EditCommand" OnUpdateCommand ="DataList1_UpdateCommand" >
< HeaderTemplate >
< td >
au_id
</ td >
< td >
au_lname
</ td >
< td >
au_fname
</ td >
< td >
phone
</ td >
< td >
address
</ td >
< td >
编辑
</ td >
< td >
删除
</ td >
</ HeaderTemplate >
< ItemTemplate >
< td >
< asp:Label ID ="Lbl_au_id" Text ='<%#Eval("au_id")% > 'runat="server"> </ asp:Label >
</ td >
< td >
< asp:Label ID ="Lbl_au_lname" Text ='<%#Eval("au_lname")% > 'runat="server"> </ asp:Label >
</ td >
< td >
< asp:Label ID ="Lbl_au_fname" Text ='<%#Eval("au_fname")% > 'runat="server"> </ asp:Label >
</ td >
< td >
< asp:Label ID ="Lbl_phone" Text ='<%#Eval("phone")% > 'runat="server"> </ asp:Label >
</ td >
< td >
< asp:Label ID ="Lbl_address" Text ='<%#Eval("address")% > 'runat="server"> </ asp:Label >
</ td >
< td >
< asp:LinkButton ID ="LinkButton1" Text ="编辑" CommandName ="Edit" runat ="server" ></ asp:LinkButton >
</ td >
< td >
< asp:LinkButton ID ="LinkButton3" Text ="删除" CommandName ="Delete" runat ="server" ></ asp:LinkButton >
</ td >
</ ItemTemplate >
< EditItemTemplate >
< td >
< asp:Label ID ="Lbl_au_id" Text ='<%#Eval("au_id")% > 'runat="server"> </ asp:Label >
</ td >
< td >
< asp:TextBox ID ="Txt_au_lname" Text ='<%#Eval("au_lname")% > 'runat="server"> </ asp:TextBox >
</ td >
< td >
< asp:TextBox ID ="Txt_au_fname" Text ='<%#Eval("au_fname")% > 'runat="server"> </ asp:TextBox >
</ td >
< td >
< asp:TextBox ID ="Txt_phone" Text ='<%#Eval("phone")% > 'runat="server"> </ asp:TextBox >
</ td >
< td >
< asp:TextBox ID ="Txt_address" Text ='<%#Eval("address")% > 'runat="server"> </ asp:TextBox >
</ td >
< td >
< asp:LinkButton ID ="LinkButton1" Text ="更新" CommandName ="Update" runat ="server" ></ asp:LinkButton >
< asp:LinkButton ID ="LinkButton2" Text ="取消" CommandName ="Cancel" runat ="server" ></ asp:LinkButton >
</ td >
< td >
< asp:LinkButton ID ="LinkButton3" Text ="删除" CommandName ="Delete" runat ="server" ></ asp:LinkButton >
</ td >
</ EditItemTemplate >
< FooterTemplate >
</ FooterTemplate >
</ asp:DataList >
</ td >
</ tr >
< tr >
< td align ="center" >
< webdiyer:AspNetPager ID ="pager1" runat ="server" Font-Size ="12px" ShowCustomInfoSection ="Left"
OnPageChanged
="ChangePage" ShowInputBox ="Always" CustomInfoSectionWidth ="80%"
SubmitButtonText
="go" >
</ webdiyer:AspNetPager >
</ td >
</ tr >
</ table >
</ div >
</ form >
</ body >
</ html >

cs代码:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Wuqi.Webdiyer;

public partial class DataList_DataList_DeleteUpdate1:System.Web.UI.Page
... {
publicstringtblName="authors";//表名
publicstringfldName="au_id";//主键字段名
publicintIsReCount=1;//是否
publicintOrderType=0;//排序0升,非0降
publicstringstrWhere="";//条件

Practice.DAL.authorsauthorsbll
=newPractice.DAL.authors();

protectedvoidPage_Load(objectsender,EventArgse)
...{
if(!IsPostBack)
...{
pager1.CurrentPageIndex
=1;//页数
pager1.PageSize=5;//每页多少条
pager1.RecordCount=Convert.ToInt32(GetDataSet().Tables[1].Rows[0][0].ToString());//共多少条
DataBindGridView();
}

}


//返回dataSet
privateDataSetGetDataSet()
...{
DataSetds
=authorsbll.Minutepage(tblName,fldName,pager1.PageSize,pager1.CurrentPageIndex,IsReCount,OrderType,strWhere);
returnds;
}


//绑定GridView
privatevoidDataBindGridView()
...{
DataList1.DataSource
=GetDataSet().Tables[0];
DataList1.DataKeyField
=fldName;
DataList1.DataBind();

//显示记录信息
pager1.CustomInfoText="记录总数:<b>"+pager1.RecordCount.ToString()+"</b>";
pager1.CustomInfoText
+="总页数:<b>"+pager1.PageCount.ToString()+"</b>";
pager1.CustomInfoText
+="当前页:<fontcolor="red"><b>"+pager1.CurrentPageIndex.ToString()+"</b></font>";
}


//DataList编辑
protectedvoidDataList1_EditCommand(objectsource,DataListCommandEventArgse)
...{
DataList1.EditItemIndex
=e.Item.ItemIndex;
DataBindGridView();
}


//DataList取消
protectedvoidDataList1_CancelCommand(objectsource,DataListCommandEventArgse)
...{
DataList1.EditItemIndex
=-1;
DataBindGridView();
}


//DataList更新
protectedvoidDataList1_UpdateCommand(objectsource,DataListCommandEventArgse)
...{
stringau_id=DataList1.DataKeys[e.Item.ItemIndex].ToString();
stringau_lname=((TextBox)e.Item.FindControl("Txt_au_lname")).Text.Trim();
Response.Write(
"更新时:<br/>au_id:"+au_id+"<br/>au_lname:"+au_lname);
DataList1.EditItemIndex
=-1;
DataBindGridView();
}


//DataList删除
protectedvoidDataList1_DeleteCommand(objectsource,DataListCommandEventArgse)
...{
stringau_id=DataList1.DataKeys[e.Item.ItemIndex].ToString();
stringau_lname=((Label)e.Item.FindControl("Lbl_au_lname")).Text.Trim();
Response.Write(
"删除时:<br/>au_id:"+au_id+"<br/>au_lname:"+au_lname);
DataBindGridView();
}


//分页
protectedvoidChangePage(objectsrc,PageChangedEventArgse)
...{
pager1.CurrentPageIndex
=e.NewPageIndex;
DataBindGridView();
}


}

分页函数:

/**/ ////<summary>
///</summary>
///<paramname="tblName">表名</param>
///<paramname="fldName">主键字段名</param>
///<paramname="PageSize">页尺寸</param>
///<paramname="PageIndex">页码</param>
///<paramname="IsReCount">返回记录总数,非0值则返回</param>
///<paramname="OrderType">设置排序类型,非0值则降序</param>
///<paramname="strWhere">查询条件(注意:不要加where)</param>
///<returns>ds</returns>

public DataSetMinutepage( string tblName, string fldName, int PageSize, int PageIndex, int IsReCount, int OrderType, string strWhere)
... {
SqlParameter[]parameters
=...{
newSqlParameter("@tblName",SqlDbType.VarChar,255),
newSqlParameter("@fldName",SqlDbType.VarChar,255),
newSqlParameter("@PageSize",SqlDbType.Int),
newSqlParameter("@PageIndex",SqlDbType.Int),
newSqlParameter("@IsReCount",SqlDbType.Bit),
newSqlParameter("@OrderType",SqlDbType.Bit),
newSqlParameter("@strWhere",SqlDbType.VarChar,1000)
}
;

parameters[
0].Value=tblName;
parameters[
1].Value=fldName;
parameters[
2].Value=PageSize;
parameters[
3].Value=PageIndex;
parameters[
4].Value=IsReCount;
parameters[
5].Value=OrderType;
parameters[
6].Value=strWhere;

returnDbHelperSQL.RunProcedure("PR_MinutePage",parameters,"ds");
}

你可能感兴趣的:(datalist)