Zuerst habe ich die DataTable wie unten gezeigt eingerichtet. Es wurden 3 Spalten mit Desc, Price und der vollständigen Zeichenfolge hinzugefügt, die angezeigt werden sollen.VB.NET Wie Sie ausgewählte Zeilen aus DataTable entfernen und auf CheckedListBox aktualisieren?
Dann erstelle ich eine neue Datenansicht und binden Sie die CheckedListBox1 an die DataTable.
checkListView = New DataView(checkBoxDT)
checkListView.Sort = "Desc ASC, Price ASC"
CheckedListBox1.DataSource = checkListView
CheckedListBox1.DisplayMember = "DisplayText"
Hier füge ich neue Elemente in die CheckedListBox1 mit dem Code unten
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim quan As Integer = 0
Dim currentPrice As Decimal = 0.0
If ComboBox2.SelectedIndex > 0 Then
quan = Convert.ToInt32(ComboBox2.Text.Trim())
currentPrice = Convert.ToDecimal(TextBox3.Text.Trim())
For i As Integer = 1 To quan
checkBoxDT.Rows.Add({ComboBox1.Text, Convert.ToDecimal(TextBox3.Text)})
totalItems = totalItems + 1
totalPrice = totalPrice + currentPrice
Next
Else
currentPrice = Convert.ToDecimal(TextBox3.Text.Trim())
checkBoxDT.Rows.Add({ComboBox1.Text, Convert.ToDecimal(TextBox3.Text)})
totalItems = totalItems + 1
totalPrice = totalPrice + currentPrice
End If
TextBox5.Text = totalItems.ToString()
TextBox4.Text = totalPrice.ToString()
End Sub
Aber ich Problem habe die CheckedListBox1 Artikel in löschen. Hier ist was ich versucht habe.
Dies ist die Schaltfläche zum Löschen. Ich versuche, die Elemente in CheckedListBox1 für alle ausgewählten Elemente zu löschen. Dann zeigen Sie den richtigen Preis in TextBox4. Wenn ich nur 1 zu löschendes Element auswähle, funktioniert es einwandfrei. Aber mehrere ausgewählte Artikel funktionieren nicht richtig. Es löscht andere Elemente, die nicht ausgewählt sind.
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim currentPrice As Decimal = 0.0
While CheckedListBox1.CheckedItems.Count > 0
currentPrice = Convert.ToDecimal(CType(CheckedListBox1.SelectedItems(0), DataRowView).Item("Price").ToString())
totalPrice = totalPrice - currentPrice
totalItems = totalItems - 1
checkListView.Delete(CheckedListBox1.SelectedIndex())
End While
TextBox4.Text = totalPrice.ToString()
TextBox5.Text = totalItems.ToString()
End Sub
dies versuchen: http: //vbcity.com/blogs/xtab/archive/2010/09/22/how-to-delete-selected- items-from-a-checkedlistbox.aspx statt löschen verwenden entfernen – coder32
@ coder32 Ich habe den Leitfaden bereits gesehen. Immer noch nicht in der Lage zu tun, was ich will, also habe ich hier eine Frage gestellt. – Student
[Geprüfte Zeilen in eine andere DataGridView anzeigen] (http://StackOverflow.com/q/37113690/1070452) – Plutonix