Fehlermeldung “der Index war außerhalb des Bereichs. Muss nicht negativ und kleiner als die Größe der Sammlung. Parameter name: index"

Ich habe eine DataGridView. Ich möchte hinzufügen, Spalte 4 Werte. Ich schrieb diesen code. Aber es zeigt oben genannten Fehler auf Total += Convert.ToDecimal(dgvSalesFooterAdd.Rows[i].Cells[4].Value);.

 decimal Total = 0;

 for (int i = 0; i < dgvSalesFooterAdd.Rows.Count; i++)
 {
      dgvSalesFooterAdd.Rows[i].Cells[4].Value = 
          Convert.ToDecimal(dgvSalesFooterAdd.Rows[i].Cells[3].Value) * 
          Convert.ToDecimal(dgvSalesFooterAdd.Rows[i].Cells[3].Value);

          Total += Convert.ToDecimal(dgvSalesFooterAdd.Rows[i].Cells[4].Value);
 }
 lblFinalTotalAdd.Text = Total.ToString();

Erstellen 5. Spalte-code:

            OleDbConnection con = new OleDbConnection(conn);
            con.Open();
            DataTable dtusers = new DataTable();
            OleDbCommand cmd = new OleDbCommand("Select Shorts,Code,Description,Percentage from SalesFields", con);
            OleDbDataAdapter da = new OleDbDataAdapter(cmd);
            da.Fill(dtusers);
            dgvSalesFooterAdd.DataSource = dtusers;
            dgvSalesFooterAdd.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
            dgvSalesFooterAdd.Columns[0].Name = "Shorts";
            dgvSalesFooterAdd.Columns[1].Name = "Code";
            dgvSalesFooterAdd.Columns[2].Name = "Description";
            dgvSalesFooterAdd.Columns[3].Name = "Percentage";
            dgvSalesFooterAdd.Columns[0].HeaderText = "Shorts";
            dgvSalesFooterAdd.Columns[1].HeaderText = "Code";
            dgvSalesFooterAdd.Columns[2].HeaderText = "Description";
            dgvSalesFooterAdd.Columns[3].HeaderText = "Percentage";
            DataGridViewColumn amount = new DataGridViewColumn();
            amount.HeaderText = "Amount";
            amount.Name = "Amount";
            amount.CellTemplate = new DataGridViewTextBoxCell();
            dgvSalesFooterAdd.Columns.Insert(4, amount);
            con.Close();

            con.Close();
Sind Sie sicher, dass die 4 und nicht 3?
überprüfen Sie Ihre dgvSalesBodyAdd.Zeilen[i].Zellen.Zählen
In diesem Datagrid ersten 4 Spalte Wert[column0, column1,column2,clounm3] kam aus der Datenbank. Ich füge eine zusätzliche Spalte[column4]. In diesem Fall column3 Werte multiplizieren und speichern in column4. Jetzt möchte ich hinzufügen, dass diese column4 Werte.
Wo ist der code, den Sie erstellt die "fünfte" Säule?
Sie radeln über die Zeilen dgvSalesFooterAdd, doch Sie versuchen zu schreiben, in dgSalesBodyAdd. Sie haben den gleichen Betrag von rows in beiden DataGridViews ?

InformationsquelleAutor Animesh Ghosh | 2013-09-11

Schreibe einen Kommentar