//DataGrid_1.aspx
**************************************************************************
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:datagrid id="Dg1" style="Z-INDEX: 101; LEFT: 7px; POSITION: absolute; TOP: 8px" runat="server"
HeaderStyle-HorizontalAlign="Center" HeaderStyle-Font-Bold="True" HeaderStyle-BackColor="#6699cc"
AutoGenerateColumns="false" ItemStyle-HorizontalAlign="Center">
<Columns>
<asp:EditCommandColumn HeaderText="编辑" EditText="编辑" CancelText="取消" UpdateText="更新" ItemStyle-Width="100"></asp:EditCommandColumn>
<asp:ButtonColumn HeaderText="删除" ButtonType="LinkButton" Text="删除" CommandName="Delete" ItemStyle-Width="60"></asp:ButtonColumn>
<asp:BoundColumn ReadOnly="True" HeaderText="用户编号" DataField="customerid"></asp:BoundColumn>
<asp:BoundColumn DataField="companyname" HeaderText="公司名"></asp:BoundColumn>
<asp:BoundColumn DataField="contactname" HeaderText="联系名"></asp:BoundColumn>
</Columns>
</asp:datagrid>
<asp:Label id="Label1" style="Z-INDEX: 102; LEFT: 14px; POSITION: absolute; TOP: 237px" runat="server">Label</asp:Label></form>
</body>
//DataGrid_1.aspx.cs
**************************************************************************
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.Data.SqlClient;
using System.Configuration;
using DBF_Center;
namespace TestCenter


{

/**//// <summary>
/// *******************************DataGrid全部功能实现****************************************
/// </summary>
public class DataGrid_1 : System.Web.UI.Page

{
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.DataGrid Dg1;


/**//// <summary>
/// 数据邦定函数
/// </summary>
/// <param name="sortField">用于排序的字段</param>
public void BindGrid(string sortField)

{
//连接数据库,填充DataSet
string constr=System.Configuration.ConfigurationSettings.AppSettings["Connectstring"];
SqlConnection conn=new SqlConnection(constr);
string commstr="select customerid,companyname,contactname from customer";
SqlDataAdapter ad=new SqlDataAdapter(commstr,conn);
DataSet dst=new DataSet();
ad.Fill(dst);
//string pd_a="select * from newstype order by t_id desc";
DataView source=new DataView(dst.Tables[0]);
source.Sort=sortField;
Dg1.DataSource=source;
Dg1.DataBind();
}
private void Page_Load(object sender, System.EventArgs e)

{
if(!IsPostBack)

{
this.BindGrid("customerid");//数据邦定,按customerid排序
}

Dg1.PagerStyle.Mode=PagerMode.NumericPages;//显示默认的页码为数字


/**//*
* 以上下页的形式显示页码
Dg1.PagerStyle.Mode=PagerMode.NextPrev;
Dg1.PagerStyle.NextPageText="下一页";
Dg1.PagerStyle.PrevPageText="上一页";
*/
Dg1.PagerStyle.Position=0;//显示起始页码
Dg1.PagerStyle.PageButtonCount=10;//显示显示页数
Dg1.PagerStyle.Visible=true;//显示默认页码数
Dg1.PageSize=6;//每页显示信息数
Dg1.AllowPaging=true;
Dg1.AllowSorting=true;
Dg1.AutoGenerateColumns=false;
}


Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)

{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/**//// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()

{
this.Dg1.ItemCreated += new System.Web.UI.WebControls.DataGridItemEventHandler(this.ItemCreate_Grid);
this.Dg1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.Pager_Grid);
this.Dg1.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Cancel_Grid);
this.Dg1.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Edit_Grid);
this.Dg1.SortCommand += new System.Web.UI.WebControls.DataGridSortCommandEventHandler(this.Sort_Grid);
this.Dg1.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Update_Grid);
this.Dg1.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Delete_Grid);
this.Dg1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.ItemBound_Grid);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

//实现自动排序
private void Sort_Grid(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)

{
this.BindGrid((string)e.SortExpression);
}

//编辑按钮的实现
private void Edit_Grid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

{
Dg1.EditItemIndex=e.Item.ItemIndex;
this.BindGrid("customerid");
}

//取消按钮的实现
private void Cancel_Grid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

{
Dg1.EditItemIndex=-1;
this.BindGrid("customerid");
}

//更新数据
private void Update_Grid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

{
TextBox C_name=(TextBox)e.Item.Cells[3].Controls[0];
//TextBox C_nid=(TextBox)e.Item.Cells[2].Controls[0];
TextBox C_cname=(TextBox)e.Item.Cells[4].Controls[0];
string C_id=e.Item.Cells[2].Text.ToString();
if(C_name.Text.ToString()=="")

{
Response.Write("<script LANGUAGE='javascript'>alert('请输入确认输入正确!');history.go(-1);</script>");
}
else

{
string up_sql="update customer set Companyname='"+C_name.Text.ToString()+"',contactname='"+C_cname.Text.ToString()+"' where customerid='"+C_id+"'";
dbcontrol.ExecuteSql(up_sql);
Label1.Text=up_sql;
}
Dg1.EditItemIndex=-1;
this.BindGrid("customerid");
}

//自动分页
private void Pager_Grid(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)

{
Dg1.CurrentPageIndex=e.NewPageIndex;
BindGrid("customerid");
}

//Item事件
private void ItemCreate_Grid(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)

{
if(e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.EditItem||e.Item.ItemType==ListItemType.Item)

{
LinkButton btnDel=(LinkButton)e.Item.Cells[1].Controls[0];
btnDel.Attributes.Add("onClick","JavaScript:return confirm('确认要删除此行的信息?')");
btnDel.Text="删除";
}
}

//执行删除
private void Delete_Grid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

{
string del_sql="delete from customer where customerid='"+e.Item.Cells[2].Text+"'";
dbcontrol.ExecuteSql(del_sql);
Dg1.EditItemIndex=-1;
BindGrid("customerid");
}

//行随鼠标移动变色
private void ItemBound_Grid(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)

{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)

{
e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='#fafafa'");
e.Item.Attributes.Add("onmouseout","this.style.backgroundColor='white'");
}
}
}
}
