gridview删除行怎么做?送分帖!
偶在两个页面里都用到了gridview这个控件,一个页能能删除,一个页面总报错,郁闷死我了!
我用的是access作为数据库,表里有两个字段id(自动编号),name(文本)
下面是我出错页的代码。
html代码片段
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDeleting="GridView1_RowDeleting">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text=<%#Eval("name") %>></asp:Label>
<asp:LinkButton ID="lbtnDel" runat="server" CommandName ="delete">删除</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
页面.cs代码
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
bind();
}
}
protected void bind()
{
string connstring = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + Server.MapPath("~/DB/db.mdb");
string sql = "select * from [log_main]";
OleDbConnection conn = new OleDbConnection(connstring);
OleDbDataAdapter dr = new OleDbDataAdapter(sql,conn );
DataSet ds = new DataSet();
dr.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int id= (int) GridView1.DataKeys[e.RowIndex-1].Value;//点页面上的删除按钮这行报错!
//索引超出范围。必须为非负值并小于集合大小。
//参数名: index
}
}
他总说我的索引超出范围,我高断点看过e.RowIndex是正确的索引呀!要怎么在gridview自定义模板中删除行呀!
我用的是access作为数据库,表里有两个字段id(自动编号),name(文本)
下面是我出错页的代码。
html代码片段
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDeleting="GridView1_RowDeleting">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text=<%#Eval("name") %>></asp:Label>
<asp:LinkButton ID="lbtnDel" runat="server" CommandName ="delete">删除</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
页面.cs代码
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
bind();
}
}
protected void bind()
{
string connstring = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + Server.MapPath("~/DB/db.mdb");
string sql = "select * from [log_main]";
OleDbConnection conn = new OleDbConnection(connstring);
OleDbDataAdapter dr = new OleDbDataAdapter(sql,conn );
DataSet ds = new DataSet();
dr.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int id= (int) GridView1.DataKeys[e.RowIndex-1].Value;//点页面上的删除按钮这行报错!
//索引超出范围。必须为非负值并小于集合大小。
//参数名: index
}
}
他总说我的索引超出范围,我高断点看过e.RowIndex是正确的索引呀!要怎么在gridview自定义模板中删除行呀!
...全文
相关推荐
DevExpress GridControl GridView 新增行/删除行 AddNewRow /InitNewRow
针对DevExpress GridControl GridView 新增行AddNewRow() 很多人加了代码也无法实现添加行或者添加行后InitNewRow这个事件没有触发,其中主要原因见附件实例
动态添加,删除 gridview 行
默认情况下,GridView会自动根据数据源创建行和列,每行对应数据源的一条记录。GridView还提供了排序、分页、编辑、删除等操作的内置支持。### 动态添加行1.
GridView删除行后台代码
希望本文能对你有所帮助!
GridView删除行提示
在探讨“GridView删除行提示”这一主题时,我们首先需要理解GridView控件的基本概念及其在ASP.NET中的应用。
Gridview删除行的前台提示(删除的是Gridview数据不是数据库中的)
### Gridview删除行的前台提示实现方法在Web开发中,使用ASP.NET的GridView控件进行数据展示是非常常见的做法。


