0

このようなデータグリッドビューがあります

ここに画像の説明を入力

データを並べ替えようとして列ヘッダーをクリックしようとすると、プログラムがオンラインで中断します

DataGridViewRow row = dataGridView1.Rows[rowIndex];

ArgumentOutOfRangeException が処理されませんでした。インデックスが範囲外でした。負ではなく、コレクションのサイズより小さくなければなりません。パラメータ名:インデックス

.designer.cs のコードは次のとおりです。

this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
this.dataGridView1.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
this.dataGridView1.BackgroundColor = System.Drawing.Color.Azure;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Location = new System.Drawing.Point(21, 62);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.Size = new System.Drawing.Size(586, 381);
this.dataGridView1.TabIndex = 9;
this.dataGridView1.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellContentClick_1);

これが私の.csのコードです

private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;
            DataGridViewRow row = dataGridView1.Rows[rowIndex];
            groupBoxPenghuni.Visible = false;
            groupBoxStaff.Visible = false;
            groupBoxRoom.Visible = false;
            groupBoxDPenghuni.Visible = true;
            groupBoxPenghasilan.Visible = false;
            GroupBox_AddResident_Resident.Visible = false;
            GroupBox_AddResident_Room.Visible = false;
            GroupBox_AddResident1.Visible = false;
            GroupBox_DeleteResident_Resident.Visible = false;
            GroupBox_DeleteResident1.Visible = false;
            GroupBox_Resident.Visible = false;
            GroupBox_Update_Room.Visible = false;
            GroupBox_UpdateResident1.Visible = false;
        }

何が悪いの?そして、私は何をすべきですか?

4

2 に答える 2