Getting TexBox's ID's .... to Calculate

Posted by jjj on Stack Overflow See other posts from Stack Overflow or by jjj
Published on 2010-05-04T11:04:02Z Indexed on 2010/05/04 11:08 UTC
Read the original article Hit count: 200

Filed under:
|
|

i have :

vb code:

    Private Sub Calculation()

     Dim txt1 As Decimal
            txt1 = (CS_Incoms_done.Text / CS_Incoms_target.Text) * 100
            CS_Incom_Result.Text = "%" + FormatNumber(txt, 2, TriState.False)

            Dim txt2 As Decimal
            txt2 = (CS_GovernmentService_done.Text / CS_GovernmentService_target.Text) * 100
            CS_GovernmentService_Result.Text = "%" + FormatNumber(txt2, 2, TriState.False)

            Dim txt3 As Decimal
            txt3 = (CS_RentBox_done.Text / CS_RentBox_target.Text) * 100
            CS_RentBox_Result.Text = "%" + FormatNumber(txt3, 2, TriState.False)

Dim txt4 As Decimal
            txt4 = (CS_ServiceAdvertising_done.Text / CS_ServiceAdvertising_target.Text) * 100
            CS_ServiceAdvertising_Result.Text = "%" + FormatNumber(txt4, 2, TriState.False)

  Dim txt5 As Decimal
            txt5 = (CS_ServiceCatogray_done.Text / CS_ServiceCatogray_target.Text) * 100
            CS_ServiceCatogray_Result.Text = "%" + FormatNumber(txt5, 2, TriState.False)
    End Sub

i just show you 5 textbox's of 100 textbox's .... and don't want to complete all the textbox's like this ... i want a simple code to do it..

... as you notice , every three textbox's are look a like on the first two parts of their id's..~

for example --> CS_ServiceCatogray _Result.Text, CS_ServiceCatogray _done.Text and CS_ServiceCatogray _target.Text...

~..and the last part is the same in all textbox's for geving the Result ..> _Result.Text , _done.Text and _target.Text

So... i had an idea to take the id and put the Similar two parts in an array... and use For Each something like:

Dim allItems As Array
        For Each item As Control In panel4.Controls
            Select Case item.[GetType]().Name
                Case "TextBox"

                    'here just be sure that this item is not saved in the allItems array ,if it is not  do >>'
                    allItems[Last_Item_Saved_Index+1] = DirectCast(item, TextBox).ID ', but i want  to save just the two Similar parts of the textboxs ids'


'i am not sure if this completely correct, but i wanted to do something like it['
                    Dim partOFtxt As String = allItems[Last_Item_Saved_Index]

                    Dim txt As Decimal = (partOFtxt + "_done.Text") / (partOFtxt + "_target.Text")

                    (partOFtxt + "_Result.Text") = "%" + FormatNumber(txt, 2, TriState.False)  ']'
                    'end condition'

                    Exit Select
                Case Else
        Exit Select
            End Select
        Next

i hope that you get the idea..

if you have a better idea ... it would be nice..

Thanks in advance..

© Stack Overflow or respective owner

Related posts about vb.net

Related posts about textbox