读书人

dgv取值时 未将对象引用设立到对象的实

发布时间: 2012-06-20 20:37:21 作者: rapoo

dgv取值时 未将对象引用设置到对象的实例
公司网不给力,上传不了图片!
定义List<int> RowIndex=new List<int>();//记录dgv所做更改行的索引
取值时

C# code
                            foreach (int row in RowIndex)                            {                                if (row >= 0)                                {                                    string partid = dgv_UserManage.Rows[row].Cells[1].Value.ToString();                                    string logid = dgv_UserManage.Rows[row].Cells[2].Value.ToString();                                    string pass = dgv_UserManage.Rows[row].Cells[3].Value.ToString();                                    string name = dgv_UserManage.Rows[row].Cells[4].Value.ToString();                                    string sql = string.Format("update UDP_User set User_Name='{0}',User_Pass='{1}',User_PartId='{2}' where User_LogId='{3}'", name, pass, partid, logid);                                    SqlHelper.sqlExcute(sql);                                }                            }
这里,无论当row等于多少时都报错!索引未越界!,求解答!

[解决办法]
是 Cell 还是 Row 越界
在 if (row >= 0)
下面加两行
var rw = dgv_UserManage.Rows[row];
var cell = rw.Cells[4];
看看这两行能不能执行过去
[解决办法]
dgv_UserManage.Rows数量与row索引不符,调试吧
[解决办法]
错了,是这样
C# code
string partid = Convert.ToString(dgv_UserManage.Rows[row].Cells[1].Value);string logid = Convert.ToString(dgv_UserManage.Rows[row].Cells[2].Value);string pass = Convert.ToString(dgv_UserManage.Rows[row].Cells[3].Value);string name = Convert.ToString(dgv_UserManage.Rows[row].Cells[4].Value);//......
[解决办法]
dgv_usermanage.rows[row].Cells["用列明不可以吗?不用考虑下标是不是超出界限"].value

读书人网 >C#

热点推荐