-2

私はまだこれについて初心者です。選択した行に必要な文字列が含まれている場合、複数選択を条件にしようとしています。すでに値を取得していますが、別の行で同じ値を取得しようとすると、オブジェクトのインスタンスに設定されていないオブジェクト参照をスローします。私がやろうとしているのは、必要な選択された行を既に取得している場合、行を削除するのではなく、セルをクリアしたいということです。スタックオーバーフローで見つけた右クリックイベントを使用しています。あなたが理解できることを願っています、あなたの助けと説明に感謝します...これが私のコードです

if (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))

4

1 に答える 1

0

row.Cells[5] が null または row.Cells[5].Value が null または行が null です。

于 2013-07-07T15:19:27.510 に答える