-2
我仍然是新手关于此..我试图做出多个选择条件如果选定的行包含我想要的字符串,我已经得到值,但是当我试图在另一行中获得相同的值时,它会抛出Object reference而不是设置为某个对象的实例,我想要做的是,如果我已经获取了所需的选定行,我想清除单元格,而不是删除行。我正在使用右键单击事件,我发现在某些情况下在stackoverflow。希望你能理解,谢谢您的帮助和解释......这里是我的代码多选择,但对象引用未设置为对象的一个实例
如果(e.Button == MouseButtons.Right) {
rw = dgv_Jadwal_Sewa.HitTest(e.X, e.Y).RowIndex;
cellValueNota = (int)dgv_Jadwal_Sewa.Rows[rw].Cells[5].Value;
String cl = Convert.ToString(cellValueNota);
dgv_Jadwal_Sewa.Rows[rw].Selected = true;
ContextMenuStrip m = new ContextMenuStrip();
m.Items.Add("Cancel");
m.ItemClicked += new ToolStripItemClickedEventHandler(m_ItemClicked);
m.Show(dgv_Jadwal_Sewa, new Point(e.X, e.Y));
}
public void cancel_Booking()
{
String cl = Convert.ToString(cellValueNota);
foreach (DataGridViewRow row in dgv_Jadwal_Sewa.Rows)
{
if (row.Cells[5].Value.ToString().ToString().Contains(cl))
{
rw = row.Index;
//row.Selected = true;
dgv_Jadwal_Sewa.Rows[rw].Selected = true;
break;
}
}
}
它扔在这条线(row.Cells[5].Value.ToString().ToString().Contains(cl))
你完全确定你在Cells中有6个对象吗?或者如果单元不为空?调试它。删除双重ToString():D – wudzik
是的我确定有6个对象,我删除了双重toString(),但仍然抛出相同的时候,我点击菜单上下文菜单取消... –
哪个字段为空?如果你使用VS调试器,你可以通过在文本编辑器中悬停变量来检查它 – wudzik