一,拖拉一个GridView 设置绑定字段,添加编辑,更新,取消,删除按钮 主要HTML源码如下 :
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False"
onpageindexchanging="GridView1_PageIndexChanging"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdatabound="GridView1_RowDataBound" onrowdeleting="GridView1_RowDeleting"
onrowediting="GridView1_RowEditing" onrowupdating="GridView1_RowUpdating"
Width="527px">
<Columns>
<asp:BoundField DataField="title" HeaderText="标题" />
<asp:CommandField ShowSelectButton="True" />
<asp:CommandField ShowEditButton="True" />
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"
CommandName="Delete" Text="删除" OnClientClick="return confirm('确认要删除吗?');"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
//说明一下,给删除按钮加上确认提示,在设计界面,点击编辑列,把默认的删除转换为TemplateField 即可加上OnClientClick="return confirm('确认要删除吗?');"
二、CS后台主要代码如下:
OleDbConnection conn;
OleDbCommand comd;
string connstr = System.Configuration.ConfigurationSettings.AppSettings["ConnStr"] + System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings["dbPath"]);
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
bind();
}
}
//绑定数据
public void bind()
{
string sql = "select * from erji ";
conn = new OleDbConnection(connstr);
OleDbDataAdapter myda = new OleDbDataAdapter(sql,conn);
DataSet myds = new DataSet();
conn.Open();
myda.Fill(myds,"表一");
GridView1.DataSource = myds;
GridView1.DataKeyNames = new string[] {"id"};
GridView1.DataBind();
conn.Close();
}
//删除数据
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string sql = "delete from erji where id=" + GridView1.DataKeys[e.RowIndex].Value.ToString() + " ";
conn = new OleDbConnection(connstr);
comd = new OleDbCommand(sql,conn);
conn.Open();
comd.ExecuteNonQuery();
conn.Close();
bind();
}
//分页用到的
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
bind();
}
//编辑更新要做如下处理
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
bind();
}
//取消操作要做如下处理
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
bind();
}
//更新操作要做如下处理
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string sql = " update erji set title='" + ((TextBox)( GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim() + "' where id=" + GridView1.DataKeys[e.RowIndex].Value + " ";
conn = new OleDbConnection(connstr);
comd = new OleDbCommand(sql,conn);
conn.Open();
comd.ExecuteNonQuery();
conn.Close();
GridView1.EditIndex = -1;
bind();
}