簡體   English   中英

基於用戶選擇的組合框執行不同的公式

[英]combobox perfoming different formulas based on user selection

我有一個數據網格,其中用戶為3個不同的列輸入了不同的數字。 然后,在用戶為每一列輸入每個值之后,將計算這些值。 我的datagrid中也有一個combobox組件。 我希望此組合框執行的操作是根據用戶的選擇執行不同的數學公式。 例如,在組合框中,如果用戶選擇“長”(組合框中的第一個選項),它將執行Column1 *(col2-Col3)-col4 = total列,或者如果用戶選擇“短”(組合框中的第二個選項) ),它執行col1 *(Col3-col2)+ column4 =總列。 我該怎么做? 我嘗試了不同的想法,但都沒有奏效,因此,任何示例或建議都將不勝感激。

   public function getTotal(item:Object, column:DataGridColumn):String
    {
    switch(comboBox) 
        { 
            case "Long": 
                var sum:int = item.quantity*(item.exit-item.entry)-item.commission;
            return currencyFormatter.format(sum);


            case "Short": 
                sum = item.quantity*(item.entry-item.exit)-item.commission; 
            return currencyFormatter.format(sum);


        }

    }

我以為您給了我函數,並為函數使用了參數,但是就像我在繼續遇到錯誤1170之前所說的那樣。我得到的意思是我的函數沒有返回值,但是我不明白為什么? 任何澄清都值得歡迎。

您的問題有點令人困惑。 用戶如何“輸入不同的值”,然后“計算”用戶通常不輸入計算值!

就是說,聽起來您需要一個大的switch語句來計算值。

switch(comboBox.selectedItem) 
{ 
    case ""ong": 
        calculatedValue = Column1*(col2-Col3)-col4; 
        break; 
    case "Short": 
        calculatedValue = col1*(Col3-col2)+column4; 
        break; 
}

我假設您DataGrid中顯示的所有值都與為該行創建的特定對象有關。 您可以將計算函數放在計算列的渲染器中,並直接引用對象的dataProvider的那些項:

switch(data['comboBoxSelectedItem']) 
{ 
    case ""ong": 
        data['calculatedValue'] = data['Column1Value']*(data['col2Value']-data['Col3Value'])-data['col4Value']; 
        break; 
    case "Short": 
        data['calculatedValue'] = data['col1Value']*(data['Col3Value']-data['col2Value'])+data['column4Value']; 
        break; 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM