我正在用c#編程一個windows form應用程式。我有一個具有多選功能的串列框,我怎樣才能獲得所有選擇的值?
sql = " Select Division.* from Division" ;
DataTable divisionTable = client.GetDataTable(null, sql, null)。
divisionListBox.DataSource = divisionTable;
divisionListBox.DisplayMember = "Name";
divisionListBox.ValueMember = "BValue";
divisionListBox.SelectedIndex = -1;
我想遍歷所有選定的值,并獲得其中BValue的總值。
謝謝你
uj5u.com熱心網友回復:
使用SelectedItems屬性,如果你把它投到DataRowView物件中,它將與LINQ很好地配合,因為LB系結到一個可資料化的資料庫中。(該LB系結到datatable.DefaultView,它是一個DataView,因此有DataRowView元素。DataRowViews有一個接受列名的Item索引器):
var total = listBox1.SelectedItems. Cast<DataRowView>().Sum(drv => (int)drv["BValue"]。
如果你的可資料化是強型別的:
var total = listBox1.SelectedItems.Cast<DataRowView>().Sum(drv => (drv.Row as StronglyTypedRowName).BValue)。
...這更好,因為它避免了字串索引,并意味著如果你在代碼中重命名BValue,它將更新
uj5u.com熱心網友回復:我想我得到了它 這就是答案
int total = 0;
foreach (System.Data.DataRowView item in divisionListBox.SelectedItems)
{
total = item.Row.Field<int> (2) 。
(2)表示 sql 句子中的 BValue。 sql 的結果是這樣的
身份,名稱,B值所以我想有BValue,我應該使用(2)
。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/317252.html
標籤:
