Angegebene Spalte gehört bereits zum DataGridView-Steuerelement



  • Hallo,

    ich komme grad nicht mehr weiter und verstehe nicht, weshalb das Problem (bzw. die oben genannte Fehlermeldung) auftritt.

    Beim Start meiner Form (WinForm) verwende ich ein TabControl.
    Auf Tab3 verwende ich die selben Funktionen wie auf Tab1. Beim Aufruf der Form (Tab1) wird alles korrekt ausgeführt, rufe ich nun Tab3 auf, erhalte ich oben genannte Fehlermeldung beim Aufruf von AddButtonEditLocation.

    //Tab1
    dgOverviewLocation.DataSource = DbQueries.D_Address.GetLocations();
    SetupOverviewGrid(dgOverviewLocation);
    AddButtonEditLocation(dgOverviewLocation);
    
    //Tab3
    dgContactPersonLocation.DataSource = DbQueries.D_Address.GetLocationsOfCompany(companyId.ID_Firma);
    SetupOverviewGrid(dgContactPersonLocation);
    AddButtonEditLocation(dgContactPersonLocation);
    
    private void AddButtonEditLocation(DataGridView dg)
            {
                for (int i = 0; i < dg.Rows.Count - 1; i++)
                {
                    btnEdit = new DataGridViewButtonColumn();
                    btnEdit.UseColumnTextForButtonValue = true;
                    btnEdit.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    btnEdit.FlatStyle = FlatStyle.Standard;
                    btnEdit.CellTemplate.Style.BackColor = Color.LightGray;
                    btnEdit.Text = "Edit";
                    btnEdit.HeaderText = "Bearbeiten";
                }
                dg.Columns.Add(btnEdit);
            }
    

    Was ist falsch?
    Auch wenn ich auf Tab1 die Funktion für nur eine Location (wie hier im Code bei tab3) aufrufe, funktioniert alles einwandfrei.
    Ich danke Euch!



  • Hi,

    was soll denn deine AddButtonEditLocation Methode eigentlich leisten? Im Moment erstellt sie (dg.Rows.Count - 1) Mal eine DataGridViewButtonColumn (immer die gleiche mit leerem Namen) und fügt sie dann dem Datagrid hinzu. Wenn du also 2x die Funktion aufrufst mit dem gleichen DataGridView, dann fügst du 2x eine Spalte mit leerem Namen hinzu was zu dem im Titel genannten Fehler führt.

    mfg
    KaPtainCugel


Anmelden zum Antworten