我有一個Datagridview,我從一個XML文件創建的數據集填充。這部分工作,我可以讓數據集的全部內容顯示在數據網格中。我有添加的功能來過濾基於日期和銷售標誌的datagridview。這也可以正常工作,因爲在循環訪問日期時datagridview會更新。不過,我需要對「過濾的」datagridview進行一些計算。這些計算需要將各種貨幣轉換爲英鎊。因此,在對最佳方式進行一些研究之後,我決定遍歷可見的datagridview並測試每個可見的。這是我想到的代碼。不幸的是,當運行它時,所有的測試都失敗了,它嘗試執行else子句,然後失敗,輸入字符串的格式不正確。不過,我不認爲這是問題,因爲我在價格和貨幣價值觀看,他們「不存在於當前的背景下......」現在我堅持,並希望得到一些幫助。也許我去這個錯誤的方式...對篩選的DataGridView執行計算
感謝
哈利
for (int i = 1; i < dataGridView1.Rows.Count; i++)
{
if (dataGridView1["currency", i].ToString() == "USD")
{
myCommission += double.Parse(dataGridView1["commission", i].ToString()) * (double.Parse(dataGridView1["price", i].ToString()) * UStoGB);
}
else if (dataGridView1["currency", i].ToString() == "EURO")
{
myCommission += double.Parse(dataGridView1["commission", i].ToString()) * (double.Parse(dataGridView1["price", i].ToString()) * EUtoGB);
}
else
{
myCommission += double.Parse(dataGridView1["commission", i].ToString()) * double.Parse(dataGridView1["price", i].ToString());
}
}
我試着做他們原來的數據源,但就是無法工作,如何只操縱過濾的數據而不是數據源中的所有數據。仍然按照我的方式進行編程,所以仍然有很多東西要學習......感謝指針。 – user1152667 2012-01-17 07:46:15
使用DataTable.DefaulView,它假設您的過濾結果並進行計算,如DataTable.DefaultView.ToTable()。Compute(SUM(IIF(currency ='USD',commission * price * whatewer,IIF(currency = '歐元',佣金*價格* whatewer2))))等等。你也使用LINQ來做你的計算。 – pistipanko 2012-01-17 07:56:52