DropDownList dinamiche
theproject non è online. Ultima attività: 03/08/2008 9.37.09theproject
Inserito il: 11 luglio 2008 15.12
57 messaggi dal 16 nov 2001 Istalla Microsoft Silverlight!
Vorrei creare un grafico con OWC11 e inserire le serie in modo dinamico.

Parto con una <asp:Table> che devo popolare con altri controlli alla pressione di una linkbutton ("aggiungi riga")


<table>
<TR>
        <TD>Pannello Visualizzazione Grafici
        </TD>
      </TR>
      <TR>
        <TD>
          <asp:linkbutton id="lnkAddRow" runat="server" CssClass="green">Aggiungi serie</asp:linkbutton>
        </TD>
      </TR>
      <TR>
        <TD>
          <asp:Table id="tbl" runat="server"
            BorderStyle="None" HorizontalAlign="Center" CellPadding="1" CellSpacing="1"></asp:Table></TD>
      </TR>
      <TR>
        <td><asp:image id="imgGraph" runat="server" ImageAlign="Middle" BorderStyle="None" Width="800"
            Height="480px"></asp:image></td>
      </TR>
</table>



Private Sub lnkAddRow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lnkAddRow.Click

Dim row As TableRow
Dim cell As TableCell

row = New TableRow
cell = New TableCell

'createDrpArt popola di valori dal db una DropDownList
cell.Controls.Add(createDrpArt)
row.Controls.Add(cell)

cell = New TableCell
cell.Controls.Add(createDrpAnno)
row.Controls.Add(cell)

tbl.Rows.Add(row)
End Sub


A questo punto ho aggiunto una riga e vorrei che alla seconda pressione del linkbutton aggiungessi un'altra riga ma in realtà sovrascrivo la precedente. Non viene conservato lo stato.Dovrei inoltre ottenere le proprietà di ogni controllo in ogni riga per generare una query sql filtrata in base ai criteri.

Ipotizziamo di avere 5 prodotti in vendita e volessi vedere l'andamento delle vendite in quest'ultimo anno di 2 prodotti.

Clicco aggiungi riga
scelgo un prodotto
scelgo l'anno di riferimento

Clicco aggiungi riga
scelgo un altro prodotto
scelgo l'anno di riferimento

e genero nel grafico 2 andamenti sovrapposti. Suggerimenti o link da proporre?
Ps. Il grafico lo so fare ma non so come mantenere lo stato dei controlli e coma mai non riesco ad aggiungere le righe dinamicamente.

RE: DropDownList dinamiche
theproject non è online. Ultima attività: 03/08/2008 9.37.09theproject
Inserito il: 12 luglio 2008 23.34
57 messaggi dal 16 nov 2001 Istalla Microsoft Silverlight!
Problema risolto. state bag Ok e evento sul controllo dinamico intercettato
posto il codice

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim intCounter As Integer

        If Not IsPostBack Then
            viewstate("ObjId") = 1
        ElseIf viewstate("ObjId") > 1 Then
            For intCounter = 2 To viewstate("ObjId")
                addField(intCounter)
            Next
        End If

    End Sub

    Private Sub addFieldCount()
        viewstate("ObjId") += 1
        addField(viewstate("ObjId"))
    End Sub

    Private Sub addField(ByVal id As String)
        Dim row As TableRow
        Dim cell As TableCell

        row = New TableRow

        cell = New TableCell
        cell.Controls.Add(createDrpAnno(id))
        row.Controls.Add(cell)

        tbl.Rows.Add(row)
    End Sub

    Private Function createDrpAnno(ByVal id As String) As Control
        Dim drp As DropDownList = New DropDownList
        drp.ID = "ObjDrpAnno_" & id
        drp.CssClass = "selectBig"

        Dim anno As Integer = Now.Year
        anno = anno - 3

        For anno = anno To anno + 6
            drp.Items.Add(anno)
        Next

        Dim lst As ListItem
        lst = drp.Items.FindByText(Now.Year.ToString)
        lst.Selected = True

        'se vuoi intercettare l'evento del controllo creato dinamicamente
        drp.AutoPostBack = True
        AddHandler drp.SelectedIndexChanged, New System.EventHandler(AddressOf drp_SelectedIndexChanged)

        Return drp
    End Function

    Private Sub drp_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim ddl As DropDownList = (CType(sender, DropDownList))
        Dim sSelectedValue As String = ddl.SelectedValue
        Response.Write(sSelectedValue)

    End Sub

    Private Sub lnkAddRow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lnkAddRow.Click
        addFieldCount()
    End Sub



Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


maltra - 761 pt
vladimiro - 502 pt
fabrica - 180 pt

Ultimi vincitori: fabrica, vladimiro, PeppeDotNet

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008 + Windows Server 2008, ReShaper e 1 ebook!



COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums