还是不行啊!整个代码如下: 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;namespace datagrid { /// <summary> /// WebForm1 的摘要说明。 /// </summary> public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.DataGrid grdNews;
private void BD(){
SqlConnection cn=Getcn();
cn.Open();
string sql="select * from news";
SqlCommand cmd=new SqlCommand(sql,cn);
SqlDataAdapter adapter=new SqlDataAdapter(cmd);
DataTable dt=new DataTable();
adapter.Fill(dt);
grdNews.DataSource=dt;
grdNews.DataBind();
cn.Close();
}
pageindexchange(e)
{
grdNews.currentindex=e.newpageindex;
BD();
}
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;namespace datagrid
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid grdNews;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!IsPostBack)
{
BD();
}
}
/// <summary>
/// 连接数据库
/// </summary>
/// <returns></returns>
private static SqlConnection Getcn(){
SqlConnection cn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["sqlconnection1"]);
return cn;
}
private void BD(){
SqlConnection cn=Getcn();
cn.Open();
string sql="select * from news";
SqlCommand cmd=new SqlCommand(sql,cn);
SqlDataAdapter adapter=new SqlDataAdapter(cmd);
DataTable dt=new DataTable();
adapter.Fill(dt);
grdNews.DataSource=dt;
grdNews.DataBind();
cn.Close();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.grdNews.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.grdNews_PageIndexChanged);
this.grdNews.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.grdNews_CancelCommand);
this.grdNews.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.grdNews_EditCommand);
this.grdNews.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.grdNews_DeleteCommand);
this.grdNews.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.grdNews_ItemDataBound);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
/// <summary>
/// 删除新闻
/// </summary>
/// <param name="newsId"></param>
private void Delete(int newsId){
SqlConnection cn=Getcn();
cn.Open();
string sql=string.Format("delete from news where newsId={0}",newsId);
SqlCommand cmd=new SqlCommand(sql,cn);
cmd.ExecuteNonQuery();
cn.Close();
} private void grdNews_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
grdNews.EditItemIndex=e.Item.ItemIndex;
BD();
} private void grdNews_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
grdNews.EditItemIndex=-1;
BD();
} private void grdNews_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
int newsId=(int)grdNews.DataKeys[e.Item.ItemIndex];
Delete(newsId);
BD();
} private void grdNews_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Button button=(Button)e.Item.Cells[7].Controls[0];
button.Attributes.Add("onclick", "return confirm('确认删除?');");
}
} private void grdNews_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
grdNews.CurrentPageIndex=e.NewPageIndex;
BD();
}
}
}