CODICE VB DELLA PAGINA
codice:
Imports System.Data
Imports System.Data.SqlClient
Imports System.Transactions
Imports System.Net.Mail
Imports System.IO
Imports System.Web.Configuration
Partial Class ravizza_super_admin_it_Nuova_offerta
Inherits System.Web.UI.Page
'Dim pnlTextBox As Panel
Dim pnlDropDownList As Panel
Dim strFields As String = "id"
Public arr(1, 1) As String
Dim i As Integer
Dim elem As Integer
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
If Session("s_utente") = "" Then
End If
se_utente.Value = Session("s_utente")
se_tipo.Value = Session("s_tipo")
SqlDataSource1.SelectCommand = "SELECT CustSupp, CompanyName FROM MA_CustSupp ORDER BY CompanyName"
SqlDataSource2.SelectCommand = "SELECT id, tipo_pag FROM TIPI_PAGAMENTO ORDER BY tipo_pag"
End If
SqlDataSource1.SelectCommand = "SELECT CustSupp, CompanyName FROM MA_CustSupp ORDER BY CompanyName"
SqlDataSource2.SelectCommand = "SELECT id, tipo_pag FROM TIPI_PAGAMENTO ORDER BY tipo_pag"
'Create a Dynamic Panel
pnlDropDownList = New Panel()
pnlDropDownList.ID = "pnlDropDownList"
pnlDropDownList.BorderWidth = 0
pnlDropDownList.Width = 750
Me.blocco2.Controls.Add(pnlDropDownList)
'Create a LinkDynamic Button to Add TextBoxes
Dim btnAddDdl As New LinkButton()
btnAddDdl.ID = "btnAddDdl"
btnAddDdl.Text = "Aggiungi Articolo"
AddHandler btnAddDdl.Click, AddressOf btnAdd_Click
Me.blocco2.Controls.Add(btnAddDdl)
'Recreate Controls
RecreateControls("ddlDynamic", "DropDownList")
End Sub
Protected Sub btnAdd_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim cnt As Integer = FindOccurence("ddlDynamic")
CreateDropDownList("ddlDynamic-" & Convert.ToString(cnt + 1))
n_articoli.Value = cnt + 1
End Sub
Private Function FindOccurence(ByVal substr As String) As Integer
Dim reqstr As String = Request.Form.ToString()
Return ((reqstr.Length - reqstr.Replace(substr, "").Length) / substr.Length)
End Function
Private Sub RecreateControls(ByVal ctrlPrefix As String, ByVal ctrlType As String)
Dim ctrls As String() = Request.Form.ToString().Split("&"c)
Dim cnt As Integer = FindOccurence(ctrlPrefix)
If cnt > 0 Then
For k As Integer = 1 To cnt
For i As Integer = 0 To ctrls.Length - 1
If ctrls(i).Contains((ctrlPrefix & "-") + k.ToString()) AndAlso Not ctrls(i).Contains("EVENTTARGET") Then
Dim ctrlID As String = ctrls(i).Split("="c)(0)
ctrlID = ctrlID.Replace("ctl00%24MainContent%24Wizard1%24", "")
'ctl00%24MainContent%24Wizard1%24
If ctrlType = "DropDownList" Then
CreateDropDownList(ctrlID)
End If
Exit For
End If
Next
Next
End If
End Sub
Private Sub CreateDropDownList(ByVal ID As String)
Dim lt2 As New Label()
lt2.Text = "<label for='" & ID & "' class='class_left' style='width:150px' >Articolo:</label><label for='listino" & ID & "' class='class_left2' style='width:100px' >Listino:</label><label for='qnt" & ID & "' class='class_left1' style='width:60px' >Quantità:</label><label for='sconto" & ID & "' class='class_left1' style='width:70px' >Sconto %:</label><label for='totale" & ID & "' class='class_left2' >Totale:</label>"
pnlDropDownList.Controls.Add(lt2)
Dim lt3 As New Literal()
lt3.Text = "<br clear='all'>"
pnlDropDownList.Controls.Add(lt3)
Dim ddl As New DropDownList()
ddl.ID = ID
ddl.Items.Add(New ListItem("--Seleziona Articolo--", ""))
Dim SQL As String = "SELECT Item, Description FROM MA_Items ORDER BY Item"
Dim cmd As SqlCommand
cmd = New SqlCommand(SQL, New SqlConnection(ConfigurationManager.ConnectionStrings("dbConnectionString").ToString))
Try
'APRE LA CONNESSIONE
cmd.Connection.Open()
'ESEGUE NLA QUERY, RESTITUISCE UN OGGETTO SqlDataReader
Dim dr As SqlDataReader = (cmd.ExecuteReader(CommandBehavior.CloseConnection))
If dr.HasRows Then
'si sposta ciclicamente attraverso i record e visualizza i valori.
Do While dr.Read
ddl.Items.Add(New ListItem(dr("Description"), dr("Item")))
Loop
End If
dr.Close()
Catch ex As Exception
'messageBox.Show("Riportare il seguente errore al programmatore: ERRORE 0161" & vbCrLf & ex.Message, "Errore sql")
Exit Sub
Finally
cmd.Connection.Close()
End Try
ddl.AutoPostBack = True
AddHandler ddl.SelectedIndexChanged, AddressOf OnSelectedIndexChanged
pnlDropDownList.Controls.Add(ddl)
Dim txt As New TextBox()
txt.ID = "listino" & ID
'txt.Attributes("class") = "class_left2"
txt.AutoPostBack = False
pnlDropDownList.Controls.Add(txt)
txt = New TextBox()
txt.ID = "qnt" & ID
'txt.Attributes("class") = "class_left1"
txt.AutoPostBack = True
AddHandler txt.TextChanged, AddressOf OnTextChanged
pnlDropDownList.Controls.Add(txt)
txt = New TextBox()
txt.ID = "sconto" & ID
'txt.Attributes("class") = "class_left1"
txt.AutoPostBack = True
AddHandler txt.TextChanged, AddressOf OnTextChanged
pnlDropDownList.Controls.Add(txt)
txt = New TextBox()
txt.ID = "totale" & ID
'txt.Attributes("class") = "class_left2"
txt.AutoPostBack = True
AddHandler txt.TextChanged, AddressOf OnTextChanged
pnlDropDownList.Controls.Add(txt)
Dim lt As New Literal()
lt.Text = "<br clear='all'>"
pnlDropDownList.Controls.Add(lt)
End Sub
Protected Sub OnSelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim ddl As DropDownList = DirectCast(sender, DropDownList)
Dim ID As String = ddl.ID
Dim C As Integer
Dim sTmp As String = ""
For C = 0 To Len(ddl.ID)
If IsNumeric(Mid(ddl.ID, C + 1, 1)) Then
sTmp = sTmp & Mid(ddl.ID, C + 1, 1)
End If
Next
ID = sTmp
'listinoddlDynamic-1
Dim txt As TextBox = Wizard1.ActiveStep.FindControl("listinoddlDynamic-" & ID)
Dim txt4 As TextBox = Wizard1.ActiveStep.FindControl("totaleddlDynamic-" & ID)
Dim SQL As String = "Select BasePrice FROM MA_Items WHERE Item='" & ddl.SelectedValue & "'"
Dim cmd As SqlCommand
cmd = New SqlCommand(SQL, New SqlConnection(ConfigurationManager.ConnectionStrings("dbConnectionString").ToString))
Try
'APRE LA CONNESSIONE
cmd.Connection.Open()
'ESEGUE NLA QUERY, RESTITUISCE UN OGGETTO SqlDataReader
Dim dr As SqlDataReader = (cmd.ExecuteReader(CommandBehavior.CloseConnection))
If dr.HasRows Then
'si sposta ciclicamente attraverso i record e visualizza i valori.
Do While dr.Read
txt.Text = dr("BasePrice")
Loop
End If
dr.Close()
Catch ex As Exception
FailureText.Text = ex.Message
Exit Sub
Finally
cmd.Connection.Close()
End Try
End Sub
Protected Sub OnTextChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim txt As TextBox = DirectCast(sender, TextBox)
Dim ID As String = ""
Dim C As Integer
Dim sTmp As String = ""
For C = 0 To Len(txt.ID)
If IsNumeric(Mid(txt.ID, C + 1, 1)) Then
sTmp = sTmp & Mid(txt.ID, C + 1, 1)
End If
Next
ID = sTmp
Dim txt1 As TextBox = Wizard1.ActiveStep.FindControl("listinoddlDynamic-" & ID)
Dim txt2 As TextBox = Wizard1.ActiveStep.FindControl("qntddlDynamic-" & ID)
Dim txt3 As TextBox = Wizard1.ActiveStep.FindControl("scontoddlDynamic-" & ID)
Dim txt4 As TextBox = Wizard1.ActiveStep.FindControl("totaleddlDynamic-" & ID)
Dim listino As Double
Dim qnt As Double
Dim sconto As Double
If IsNumeric(txt1.Text) Then
listino = txt1.Text
Else
listino = 0
End If
If IsNumeric(txt2.Text) Then
qnt = txt2.Text
Else
qnt = 0
End If
If IsNumeric(txt3.Text) Then
sconto = txt3.Text
Else
sconto = 0
End If
txt4.Text = listino * qnt - (((listino * qnt) / 100) * sconto)
End Sub
Sub GetFavoriteNumerOnActiveStepIndex(ByVal sender As Object, ByVal e As EventArgs)
If Wizard1.ActiveStepIndex >= 1 Then
End If
End Sub
End Class