如何动态获取DataGrid选中行的列的值 如何动态获取DataGrid选中行的列的值,比如说有一个DataGrid控件上显示了,很多数据,在每行的最后面有一个控钮,当我点击这个按钮时,我怎么样才能获取这一选取行的各字段的值??急呀! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 winform:某行某列的值:获得行索引int i = this.datagrid.CurrentRowIndex;用索引获得某列值string str = this.datagrid[i,3].ToString();webform:string str =DataGrid1.SelectedItem.Cells[0].Text; 基础思路: 在当前选择行里面使用FindControl("object"); 然后慢慢控制object foreach (DataRow dr DataTable yourDt){ dr["列名"]="你要输入的值"}该操作也可以使用dataset.tables[0].rows.count;取得行数,然后遍历,对i进行判断并赋值 http://netinfo.cnblogs.com/archive/2005/09/13/235868.html 我有下面这个方法,程序一运行到第二句出现下面的错误,第一句没有问,正常执行,执行到第二句就报告如下异常,请各位大哥大姐,偷空帮忙看一下应该怎样解,这个怪问题????????string bookID=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString(); string bookedName=this.DataGrid1.SelectedItem.Cells[1].Text.ToString();“/Graduate”应用程序中的服务器错误。--------------------------------------------------------------------------------未将对象引用设置到对象的实例。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 行 89: string bookID=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();行 90: string bookName=this.DataGrid1.DataKeyField[e.Item.ItemIndex].ToString();行 91: string bookedName=this.DataGrid1.SelectedItem.Cells[1].Text.ToString();行 92: int Name=this.DataGrid1.Columns.Count;行 93: 源文件: d:\wwwroot\graduate\shoppingbus.aspx.cs 行: 91 堆栈跟踪: [NullReferenceException: 未将对象引用设置到对象的实例。] Graduate.shoppingBus.DataGrid1_ItemCommand(Object source, DataGridCommandEventArgs e) in d:\wwwroot\graduate\shoppingbus.aspx.cs:91 System.Web.UI.WebControls.DataGrid.OnItemCommand(DataGridCommandEventArgs e) System.Web.UI.WebControls.DataGrid.OnBubbleEvent(Object source, EventArgs e) System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) System.Web.UI.WebControls.DataGridItem.OnBubbleEvent(Object source, EventArgs e) System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) System.Web.UI.WebControls.ImageButton.OnCommand(CommandEventArgs e) System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) System.Web.UI.Page.ProcessRequestMain() --------------------------------------------------------------------------------版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573 用for循环也会出错 for (int i=0;i<this.DataGrid1.Columns.Count-1;i++) { Response.Write(ds.Tables["temp"].Rows[e.Item.ItemIndex][i]+" "); }我照着柏林哥,指点的网址去看了,照着他那样做了,出现了下面的错误?请柏林哥帮忙看一下??“/Graduate”应用程序中的服务器错误。--------------------------------------------------------------------------------未将对象引用设置到对象的实例。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 行 102: for (int i=0;i<this.DataGrid1.Columns.Count-1;i++)行 103: {行 104: Response.Write(ds.Tables["temp"].Rows[e.Item.ItemIndex][i]+" ");行 105: }行 106: 源文件: d:\wwwroot\graduate\shoppingbus.aspx.cs 行: 104 堆栈跟踪: [NullReferenceException: 未将对象引用设置到对象的实例。] Graduate.shoppingBus.DataGrid1_ItemCommand(Object source, DataGridCommandEventArgs e) in d:\wwwroot\graduate\shoppingbus.aspx.cs:104 System.Web.UI.WebControls.DataGrid.OnItemCommand(DataGridCommandEventArgs e) System.Web.UI.WebControls.DataGrid.OnBubbleEvent(Object source, EventArgs e) System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) System.Web.UI.WebControls.DataGridItem.OnBubbleEvent(Object source, EventArgs e) System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) System.Web.UI.WebControls.ImageButton.OnCommand(CommandEventArgs e) System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) System.Web.UI.Page.ProcessRequestMain() --------------------------------------------------------------------------------版本信息: Microsoft 晚上我测了一下,netinfo的程序是正确的,没有问题。见你的出错信息里有这句: Response.Write(ds.Tables["temp"].Rows[e.Item.ItemIndex][i]+" ");原程序是: Response.Write(ds.Tables[0].Rows[e.Item.ItemIndex][i]+" ");注意到原程序里填充时为: adapter.Fill(ds,"employees");你是不是自行改了Table名为temp而上面这句没改呢? 如果adapter.Fill(ds,"empliyees");和Response.write(ds.Tables[0].Rows[e.item.ItemIndex][i]+""表名不一样的话也会出错。 web service 在传送大量数据的时候报错:格式化程序尝试对消息反序列化时引发异常 VS2003编译出现的问题 找不到类型或命名空间名称“Excel”的问题,急,在线等 新手问一个菜鸟问题,关于类的继承 求求您,帮帮我!关于把textBox的数据更新到数据库的问题!!谢谢您! 好久不做 ado.net,,到底该用IDataReader还是DbDataReader????? 如何判断要采集的页面是否是初始页面 急问:如何给datagrid添加ItemCommand函数 请问用C#写一个串口的接收(监听)程序应该如何实现? 关于拆装箱问题 如何在指定的Panel上绘图. 求助文件流关闭问题
某行某列的值:
获得行索引
int i = this.datagrid.CurrentRowIndex;
用索引获得某列值
string str = this.datagrid[i,3].ToString();
webform:
string str =DataGrid1.SelectedItem.Cells[0].Text;
然后慢慢控制object
{
dr["列名"]="你要输入的值"
}
该操作也可以使用dataset.tables[0].rows.count;取得行数,然后遍历,对i进行判断并赋值
第一句没有问,正常执行,执行到第二句就报告如下异常,请各位大哥大姐,偷空帮忙看一下
应该怎样解,这个怪问题????????
string bookID=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
string bookedName=this.DataGrid1.SelectedItem.Cells[1].Text.ToString();“/Graduate”应用程序中的服务器错误。
--------------------------------------------------------------------------------未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 89: string bookID=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
行 90: string bookName=this.DataGrid1.DataKeyField[e.Item.ItemIndex].ToString();
行 91: string bookedName=this.DataGrid1.SelectedItem.Cells[1].Text.ToString();
行 92: int Name=this.DataGrid1.Columns.Count;
行 93:
源文件: d:\wwwroot\graduate\shoppingbus.aspx.cs 行: 91 堆栈跟踪:
[NullReferenceException: 未将对象引用设置到对象的实例。]
Graduate.shoppingBus.DataGrid1_ItemCommand(Object source, DataGridCommandEventArgs e) in d:\wwwroot\graduate\shoppingbus.aspx.cs:91
System.Web.UI.WebControls.DataGrid.OnItemCommand(DataGridCommandEventArgs e)
System.Web.UI.WebControls.DataGrid.OnBubbleEvent(Object source, EventArgs e)
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
System.Web.UI.WebControls.DataGridItem.OnBubbleEvent(Object source, EventArgs e)
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
System.Web.UI.WebControls.ImageButton.OnCommand(CommandEventArgs e)
System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
用for循环也会出错 for (int i=0;i<this.DataGrid1.Columns.Count-1;i++)
{
Response.Write(ds.Tables["temp"].Rows[e.Item.ItemIndex][i]+" ");
}
我照着柏林哥,指点的网址去看了,照着他那样做了,出现了下面的错误?请柏林哥帮忙看一下??“/Graduate”应用程序中的服务器错误。
--------------------------------------------------------------------------------未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 102: for (int i=0;i<this.DataGrid1.Columns.Count-1;i++)
行 103: {
行 104: Response.Write(ds.Tables["temp"].Rows[e.Item.ItemIndex][i]+" ");
行 105: }
行 106:
源文件: d:\wwwroot\graduate\shoppingbus.aspx.cs 行: 104 堆栈跟踪:
[NullReferenceException: 未将对象引用设置到对象的实例。]
Graduate.shoppingBus.DataGrid1_ItemCommand(Object source, DataGridCommandEventArgs e) in d:\wwwroot\graduate\shoppingbus.aspx.cs:104
System.Web.UI.WebControls.DataGrid.OnItemCommand(DataGridCommandEventArgs e)
System.Web.UI.WebControls.DataGrid.OnBubbleEvent(Object source, EventArgs e)
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
System.Web.UI.WebControls.DataGridItem.OnBubbleEvent(Object source, EventArgs e)
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
System.Web.UI.WebControls.ImageButton.OnCommand(CommandEventArgs e)
System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
--------------------------------------------------------------------------------
版本信息: Microsoft
见你的出错信息里有这句:
Response.Write(ds.Tables["temp"].Rows[e.Item.ItemIndex][i]+" ");
原程序是:
Response.Write(ds.Tables[0].Rows[e.Item.ItemIndex][i]+" ");
注意到原程序里填充时为:
adapter.Fill(ds,"employees");
你是不是自行改了Table名为temp而上面这句没改呢?
adapter.Fill(ds,"empliyees");
和
Response.write(ds.Tables[0].Rows[e.item.ItemIndex][i]+""
表名不一样的话也会出错。