-1
基本上我有一個檢查列表框,其中的每個項目都有相應的價格。我如何編寫它,以便如何在CheckedListBox中添加項目vb.net
1)當選擇的項目之一,涉及價格某處存儲在代碼和
2)我怎麼那麼加起來的價格(例如,如果幾個項目已經被選中,我想合計價格並在文本框中顯示總數)。
我上「的Visual Studio Express的臺式機」這樣做所以基本上vb.net
基本上我有一個檢查列表框,其中的每個項目都有相應的價格。我如何編寫它,以便如何在CheckedListBox中添加項目vb.net
1)當選擇的項目之一,涉及價格某處存儲在代碼和
2)我怎麼那麼加起來的價格(例如,如果幾個項目已經被選中,我想合計價格並在文本框中顯示總數)。
我上「的Visual Studio Express的臺式機」這樣做所以基本上vb.net
這裏是一個概念上的例子,我在一個窗口形式的項目中使用Console.WriteLine其中輸出顯示在Visual Studio的輸出窗口中。採取從following article我寫了一段時間,並適應在這裏協助。
一個CheckedListBox,一個Button
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dt As New DataTable
dt.Columns.Add(New DataColumn With {.ColumnName = "Identifier",
.DataType = GetType(Int32),
.AutoIncrement = True,
.AutoIncrementStep = 100,
.AutoIncrementSeed = 100})
dt.Columns.Add(New DataColumn With {.ColumnName = "ItemName",
.DataType = GetType(String)})
dt.Columns.Add(New DataColumn With {.ColumnName = "Cost",
.DataType = GetType(Decimal)})
dt.Columns.Add(New DataColumn With {.ColumnName = "ExtraData",
.DataType = GetType(String)})
dt.Rows.Add(New Object() {Nothing, "One", 10.99D, "Extra 1"})
dt.Rows.Add(New Object() {Nothing, "Two", 7D, "Extra 2"})
dt.Rows.Add(New Object() {Nothing, "Three", 5.99D, "Extra 3"})
dt.Rows.Add(New Object() {Nothing, "Four", 1.34D, "Extra 4"})
dt.Rows.Add(New Object() {Nothing, "Five", 45.65D, "Extra 5"})
clbCheckedListBox.DataSource = dt
clbCheckedListBox.DisplayMember = "ItemName"
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If clbCheckedListBox.CheckedItems.Count > 0 Then
For Each drv As DataRowView In clbCheckedListBox.CheckedItems
Console.WriteLine("{0} - {1}", drv.Row.Field(Of String)("ItemName"), drv.Row.Field(Of Decimal)("Cost"))
Next
Dim total As Decimal = clbCheckedListBox.CheckedItems.Cast(Of DataRowView).Select(Function(view) view.Row.Field(Of Decimal)("Cost")).Sum
Console.WriteLine(total)
End If
End Sub
End Class
CheckedListBox不是一個集合類,它只是不夠好,以顯示集合的內容。從視圖中分離數據,聲明一個List(Of Something)變量。 Where Something是一個至少具有Selected As Boolean和Price As Decimal屬性以及ToString()重寫的類。現在很簡單。 –