Hallo Community!
Wie kann man bei einer ComboBoxColumn die Auswahlliste unmittelbar nach einer getätigten Auswahl per Programm ändern?
Z.B: Es stehen Zahlen von 1 bis 4 in der Auswahlliste einer ComboboxColumn zur Verfügung
und nach erfolgter Auswahl einer beliebigen Zahl wird die Auswahlliste um die ausgewählte Zahl reduziert usw.
Siehe anbei ... , die Liste wird zwar reduziert, aber das DGV überträgt die ausgewählte Zahl nicht in die Zelle ...
Spoiler anzeigen
Wie kann man hier weiter bzw. anders vorgehen?
Wie kann man bei einer ComboBoxColumn die Auswahlliste unmittelbar nach einer getätigten Auswahl per Programm ändern?
Z.B: Es stehen Zahlen von 1 bis 4 in der Auswahlliste einer ComboboxColumn zur Verfügung
und nach erfolgter Auswahl einer beliebigen Zahl wird die Auswahlliste um die ausgewählte Zahl reduziert usw.
Siehe anbei ... , die Liste wird zwar reduziert, aber das DGV überträgt die ausgewählte Zahl nicht in die Zelle ...
VB.NET-Quellcode
- Private Sub SetUp()
- Size = New Size(200, 300)
- Dim flwLayout As New FlowLayoutPanel()
- With flwLayout
- .FlowDirection = FlowDirection.TopDown
- .Dock = DockStyle.Fill
- .Controls.Add(DGV)
- End With
- Controls.Add(flwLayout)
- Text = "DEMO"
- Dim cbxCol As New DataGridViewComboBoxColumn()
- With cbxCol
- .Items.AddRange(1, 2, 3, 4)
- .ValueType = GetType(Int32)
- .DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing
- .HeaderText = "Versuch"
- End With
- With DGV
- .AllowUserToAddRows = True
- .AllowUserToDeleteRows = True
- .Columns.Add(cbxCol)
- End With
- End Sub
- Private Sub dgv_ecs(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs) _
- Handles DGV.EditingControlShowing
- Dim cbx As ComboBox = CType(e.Control, ComboBox)
- If (cbx IsNot Nothing) Then
- RemoveHandler cbx.SelectedIndexChanged, New EventHandler(AddressOf cbx_SelIndChg)
- AddHandler cbx.SelectedIndexChanged, New EventHandler(AddressOf cbx_SelIndChg)
- End If
- End Sub
- Private Sub cbx_SelIndChg(ByVal sender As Object, ByVal e As EventArgs)
- Dim cbx As ComboBox = CType(sender, ComboBox)
- cbx.Items.Remove(CType(sender, ComboBox).SelectedItem)
- End Sub
- End Class
Wie kann man hier weiter bzw. anders vorgehen?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VB1963“ ()