<%@ page language="c#" codebehind="default.aspx.cs" autoeventwireup="false" inherits="datagrid.webform1" %>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en" >
<html>
<head>
<title>webform1</title>
<meta content="microsoft visual studio .net 7.1" name="generator">
<meta content="c#" name="code_language">
<meta content="javascript" name="vs_defaultclientscript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetschema">
</head>
<body ms_positioning="gridlayout">
<form id="form1" method="post" runat="server">
<script>
window.resizeto(screen.width,screen.height-30);
</script>
<asp:datagrid id="datagrid1" style="z-index: 101; left: 48px; position: absolute; top: 56px" runat="server"
horizontalalign="center" datakeyfield="au_id" pagesize="3" allowpaging="true" width="408px"
autogeneratecolumns="false" allowsorting="true">
<columns>
<asp:boundcolumn datafield="au_id" sortexpression="au_id" readonly="true" headertext="id"></asp:boundcolumn>
<asp:boundcolumn datafield="city" sortexpression="city" readonly="true" headertext="城市"></asp:boundcolumn>
<asp:templatecolumn sortexpression="au_id" headertext="操作">
<itemtemplate>
<asp:linkbutton runat="server" id="delbutton" text="删除" commandname="delete" causesvalidation="false"></asp:linkbutton>
</itemtemplate>
</asp:templatecolumn>
</columns>
<pagerstyle visible="false" pagebuttoncount="6"></pagerstyle>
</asp:datagrid><asp:label id="label1" style="z-index: 106; left: 312px; position: absolute; top: 24px" runat="server"></asp:label><asp:linkbutton id="lbtfir" style="z-index: 105; left: 72px; position: absolute; top: 24px" runat="server">首页</asp:linkbutton><asp:linkbutton id="lbtlast" style="z-index: 104; left: 256px; position: absolute; top: 24px" runat="server">尾页</asp:linkbutton><asp:linkbutton id="lbtpre" style="z-index: 103; left: 192px; position: absolute; top: 24px" runat="server">上一页</asp:linkbutton><asp:linkbutton id="lbtnex" style="z-index: 102; left: 120px; position: absolute; top: 24px" runat="server">下一页</asp:linkbutton></form>
</body>
</html>
代码
default.aspx.cs
using system;
using system.collections;
using system.componentmodel;
using system.data;
using system.data.sqlclient;
using system.drawing;
using system.web;
using system.web.sessionstate;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.htmlcontrols;
namespace datagrid
{
/// <summary>
/// webform1 的摘要说明。
/// </summary>
public class webform1 : system.web.ui.page
{
protected system.web.ui.webcontrols.linkbutton lbtnex;
protected system.web.ui.webcontrols.linkbutton lbtpre;
protected system.web.ui.webcontrols.linkbutton lbtlast;
protected system.web.ui.webcontrols.linkbutton lbtfir;
protected system.web.ui.webcontrols.label label1;
protected system.web.ui.webcontrols.datagrid datagrid1;
public string sortfield;
private void page_load(object sender, system.eventargs e)
{
// 在此处放置用户代码以初始化页面
if(!page.ispostback)
{
databind();
}
}
public void databind()
{
sqlconnection con = new sqlconnection("server=it003;database=pubs;uid=sa;pwd=");
con.open();
string sql="select * from authors";
sqldataadapter ada = new sqldataadapter(sql,con);
dataset ds = new dataset();
ada.fill(ds,"temp");
ds.tables["temp"].defaultview.sort=sortfield;
datagrid1.datasource=ds.tables["temp"].defaultview;
datagrid1.databind();
ada.dispose();
con.close();
label1.text="共"+ds.tables["temp"].defaultview.count.tostring()+"条记录,"+datagrid1.pagecount.tostring()+"页,第"+(datagrid1.currentpageindex+1).tostring()+"页,本页"+datagrid1.items.count.tostring()+"条记录";
}
#region web 窗体设计器生成的代码
override protected void oninit(eventargs e)
{
//
// codegen: 该调用是 asp.net web 窗体设计器所必需的。
//
initializecomponent();
base.oninit(e);
}
/// <summary>
/// 设计器支持所需的方法 – 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void initializecomponent()
{
this.datagrid1.sortcommand += new system.web.ui.webcontrols.datagridsortcommandeventhandler(this.datagrid1_sortcommand);
this.datagrid1.deletecommand += new system.web.ui.webcontrols.datagridcommandeventhandler(this.datagrid1_deletecommand_1);
this.datagrid1.itemdatabound += new system.web.ui.webcontrols.datagriditemeventhandler(this.datagrid1_itemdatabound_1);
this.lbtfir.click += new system.eventhandler(this.lbtfir_click);
this.lbtlast.click += new system.eventhandler(this.lbtlast_click);
this.lbtpre.click += new system.eventhandler(this.lbtpre_click);
this.lbtnex.click += new system.eventhandler(this.lbtnex_click);
this.load += new system.eventhandler(this.page_load);
}
#endregion
private void datagrid1_pageindexchanged(object source, system.web.ui.webcontrols.datagridpagechangedeventargs e)
{
datagrid1.currentpageindex=e.newpageindex;
databind();
}
private void lbtnex_click(object sender, system.eventargs e)
{
if(datagrid1.currentpageindex<datagrid1.pagecount-1)
{
datagrid1.currentpageindex++;
databind();
}
}
private void lbtpre_click(object sender, system.eventargs e)
{
if(datagrid1.currentpageindex>0)
{
datagrid1.currentpageindex–;
databind();
}
}
private void lbtfir_click(object sender, system.eventargs e)
{
datagrid1.currentpageindex=0;
databind();
}
private void lbtlast_click(object sender, system.eventargs e)
{
datagrid1.currentpageindex=datagrid1.pagecount-1;
databind();
}
private void datagrid1_deletecommand_1(object source, system.web.ui.webcontrols.datagridcommandeventargs e)
{
try{
string id = (string)datagrid1.datakeys[(int) e.item.itemindex];
string sql="delete from authors where au_id="+convert.tostring(id)+"";
sqlconnection con = new sqlconnection("server=it003;database=pubs;uid=sa;pwd=");
con.open();
sqlcommand com=new sqlcommand(sql,con);
com.executenonquery();
com.dispose();
con.close();
if (datagrid1.items.count == 1 && datagrid1.currentpageindex > 0)
{
datagrid1.currentpageindex–;
}
databind();
}
catch(exception ex)
{
response.write("<script>alert("+ex.message+")</script>");
//page.registerstartupscript("","<script>alert("+ex.message+")</script>");
}
}
private void datagrid1_itemdatabound_1(object sender, system.web.ui.webcontrols.datagriditemeventargs e)
{
if(e.item.itemindex<0) return;
e.item.attributes.add("onmouseover","currentcolor=this.style.backgroundcolor;this.style.backgroundcolor=cccccc");
e.item.attributes.add("onmouseout","this.style.backgroundcolor=currentcolor");
linkbutton lbtndel = (linkbutton)e.item.findcontrol("delbutton");
string id = (string)datagrid1.datakeys[(int) e.item.itemindex];
lbtndel.attributes.add("onclick", "return confirm(您真的要删除"+id+ " 行吗?);");
}
private void datagrid1_sortcommand(object source, system.web.ui.webcontrols.datagridsortcommandeventargs e)
{
sortfield=(string)e.sortexpression;
databind();
}
}
}
