使用带有c#的asp.net删除gridview中的特定行 [英] deleting a particular row in gridview using asp.net with c#

查看:52
本文介绍了使用带有c#的asp.net删除gridview中的特定行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在删除gridview中的partiuclar行。



运行模式如下





Waitlistid课程Batchdate

1 AFF 2014年8月25日

2 MFA 2015年9月26日

3 ERS ​​2012年3月20日
4 ROC 2012年7月19日





我的代码如下



protected void OnRowDeleting(object sender,GridViewDeleteEventArgs e)

{



int index = Convert.ToInt32(e.RowIndex) ;

DataTable dt = ViewState [dt] as DataTable;

dt.Rows [index] .Delete();

ViewState [ dt] = dt;

BindGrid();

}





protected void BindGrid()

{

GridView1.DataSource = ViewState [dt]为DataTable;

GridView1.DataBind();

}



当我删除行模式中gridview的第4行显示错误如下



对象引用未设置为对象的实例。



以上错误在下面的行显示如下



dt.Rows [index] .Delete();



请帮帮我。我的abvoe代码中有什么问题。

I am deleting partiuclar row in gridview.

Run mode as follows


Waitlistid Course Batchdate
1 AFF 25 Aug 2014
2 MFA 26 Sep 2015
3 ERS 20 Mar 2012
4 ROC 19 Jul 2012


My code as follows

protected void OnRowDeleting(object sender, GridViewDeleteEventArgs e)
{

int index = Convert.ToInt32(e.RowIndex);
DataTable dt = ViewState["dt"] as DataTable;
dt.Rows[index].Delete();
ViewState["dt"] = dt;
BindGrid();
}


protected void BindGrid()
{
GridView1.DataSource = ViewState["dt"] as DataTable;
GridView1.DataBind();
}

When i delete the 4th row in gridview in row mode shows error as follows

Object reference not set to an instance of an object.

The above error shows in below line as follows

dt.Rows[index].Delete();

please help me. what is the problem in my abvoe code.

推荐答案

//see the reference below:




//Single row delete



http://csharp-video-tutorials.blogspot.in/2013/03/deleting-data-from- gridview-using.html [ ^ ]


http://csharp-video-tutorials.blogspot.in/2013/03/deleting-data-from-gridview-using.html[^]

//multiple rows delete



http://csharp-video-tutorials.blogspot.in/2013/03/delete-multiple-rows-from-aspnet.html [<一个href =http://csharp-video-tutorials.blogspot.in/2013/03/delete-multiple-rows-from-aspnet.html\"target =_ blanktitle =新窗口> ^ ]


异常的原因对象引用未设置为对象的实例。是你的dt应为null。



始终检查dt不为空并在删除前有行。将代码更改为如下所示,因此如果条件满足则删除成功,并且在没有数据的情况下不会抛出异常。



The reason for the exception "Object reference not set to an instance of an object." is your dt should be null.

Always check dt is not null and has rows before deleting. Change your code to something like below, so delete is success if the conditions are met and no exception is thrown where there is no data.

DataTable dt = ViewState["dt"] as DataTable;
if(dt != null && dt.Rows.Count > 0)
{
  dt.Rows[index].Delete();
}



我希望这可以让您了解代码中的错误并帮助解决它。


I hope this gives an idea of what is wrong in your code and helps solve it.


尝试to dt.Rows.RemoveAt(index)
try to dt.Rows.RemoveAt(index)


这篇关于使用带有c#的asp.net删除gridview中的特定行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆