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) 编辑 收藏 举报