Hallo,
ich möchte leere Spalten in einem DataGridView ausblenden, nun ist es so
das er die Leeren Spalten versteckt. Aber nur bei dem Datensatz der beim
Start des Programms geladen wurde :( Sobald ich ein anderen Datensatz
auswähle blendet er die leeren Spalten wieder ein :(
Sobald in der ComboBox1 ein neuer Wert ausgewählt wird, wird diese
Methode aktviert. Beim Programmstart werden die Namen aus der Datenbank
in die ComboBox1 geladen, was die Methode einmal auslöst und dabei
werden die leeren Spalten korrekt ausgeblendet. Sobald man jedoch
anderen Namen funktioniert das ausblenden nicht mehr obwohl die IF
Abfragen die richtigen Spalten auf Hidden setzen :(
Leider findet man hier zu nicht wirklich viel oder ich suche einfach
nach dem Falschen :/ die MSDN war auch keine große Hilfe die Beispiele
dort funktionieren leider auch nicht :(
Ich hoffe ihr habt eine Idee wie ich das Problem lösen kann :)
MFG Daniel L.
Hi Daniel,
das heißt in diesem Fall, daß Du versuchst, auf eine nicht existierendes
Spalten-Objekt zuzugreifen. Hast Du schon mal im Debugger geschaut, wie
die Elemente von datagridView1.Columns aussehen?
Gruß
Markus
DataGridViewTextBoxColumn { Name=Stufe, Index=0 }
DataGridViewTextBoxColumn { Name=Bauzeit, Index=1 }
DataGridViewTextBoxColumn { Name=Metall, Index=2 }
DataGridViewTextBoxColumn { Name=Kristall, Index=3 }
DataGridViewTextBoxColumn { Name=Deuterium, Index=4 }
DataGridViewTextBoxColumn { Name=Energie, Index=5 }
Wenn ich nun das auskommentiere mit reinnehme wird beim ausführen des
Programm beim ersten mal einfügen der Daten die richtigen Spalten
ausgeblendet und wenn ich dann die Daten wechsel bekomm ich die
Fehlermeldung:
1
System.ArgumentOutOfRangeException wurde nicht von Benutzercode behandelt.
2
Message="Der Index lag außerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein.\r\nParametername: index"
3
Source="mscorlib"
4
ParamName="index"
5
StackTrace:
6
bei System.Collections.ArrayList.get_Item(Int32 index)
7
bei System.Windows.Forms.DataGridViewColumnCollection.get_Item(Int32 index)
8
bei OCalc.Form1.dataGridView1_DataBindingComplete(Object sender, DataGridViewBindingCompleteEventArgs e) in ***\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:Zeile 243.
9
bei System.Windows.Forms.DataGridView.DataGridViewDataConnection.currencyManager_ListChanged(Object sender, ListChangedEventArgs e)
10
bei System.Windows.Forms.CurrencyManager.OnListChanged(ListChangedEventArgs e)
11
bei System.Windows.Forms.CurrencyManager.List_ListChanged(Object sender, ListChangedEventArgs e)
12
bei System.Data.DataView.OnListChanged(ListChangedEventArgs e)