Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Un bel Problema ...

  1. #1

    Un bel Problema ...

    salve a tutti allora ho questa pagina. Vedi Immagine

    il mio codice Asp + questo
    codice:
    <asp:DataList ID="R_Categoria" Runat=server >
    										<HeaderTemplate>
    										<font CLASS="H4">Prezzi Singoli</font>
    										</HeaderTemplate>  
    										
    										<ItemTemplate> 
    										<%# Container.DataItem("Sottocategoria")%>
    										<asp:DataGrid id="D_PrezziSingoli" HorizontalAlign="Center" Width="70%" runat="server" forecolor="#000000"
    															AutogenerateColumns="false" BorderColor="black" cellpadding="2" cellspacing="0" Font-Size="12pt"
    															ShowFooter="true" HeaderStyle-BackColor="#ffd78d" FooterStyle-BackColor="#ffd78d" ItemStyle-BackColor="#ffffff"
    															AlternatingItemStyle-Backcolor="#ffffcc" AllowPaging="false" Visible="true" enableviewstate="true" 
    															 DataSource=<%#D_Prezzi(Container.DataItem("Sottocategoria"))%>	>
    															 <Columns>
    															 <asp:BoundColumn  DataField="ID_categoria" HeaderText="ID_categoria"  Visible=False readOnly="true" HeaderStyle-CssClass="H5" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center"/>
    															 <asp:BoundColumn  DataField="Attivita" HeaderText="Attivita" readOnly="true"  ItemStyle-Font-Bold=True HeaderStyle-CssClass="H5" HeaderStyle-HorizontalAlign="center" ItemStyle-HorizontalAlign="left" />
    															 <asp:BoundColumn  DataField="Prezzo" HeaderText="Attivita" DataFormatString="{0:C2}"  readOnly="true" HeaderStyle-CssClass="H5" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center"/>
    															 <asp:TemplateColumn HeaderStyle-CssClass="H5" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" 
    																HeaderText="Seleziona" >
    																	<ItemTemplate>
    																		<asp:CheckBox ID="Chk" Runat="server" />
    																	</ItemTemplate>
    															</asp:TemplateColumn>
    																													 
    															 </Columns>															 
    													 </asp:DataGrid>
    										</ItemTemplate>
    												<AlternatingItemTemplate>
    														<hr size=1 runat=server ID="Hr1"/>
    												</AlternatingItemTemplate>
    						</asp:DataList>
    <asp:label CssClass="H6" ID="L_Prezzo_Tot" Runat="server" />
    <asp:Button ID="B1" Runat="server" Text="Calcola Totale"  CausesValidation=False BorderStyle="Solid"   OnClick=CalcolaTotale/>
    Quando la persona clicca su pulsante B1 richiama questo evento

    codice:
    Public Sub CalcolaTotale(ByVal sender As Object, ByVal e As EventArgs)
    
            Dim cb As CheckBox
            Dim dgi As DataGridItem
            Dim Ritem As DataListItem
            Dim Count As Int16
            Dim Dg As DataGrid
            Dim TotalPrice As Decimal
            Dim ID_Prezzo As String
            Dim ID_Calendario As String
    
            Dim j As Integer = 1
            'Ciclo sul datagrid
            For Each Ritem In R_Categoria.Items()
                'Cerco il controllo DataGrind nel Repeater
                Dg = CType(R_Categoria.Items(0).Controls(1), DataGrid)
    
                For Each dgi In Dg.Items()
                    'Cerco il controllo Checkbox nel datagrid
                    cb = CType(dgi.Cells(3).Controls(1), CheckBox)
                    'Controllo se è stata Spuntato in caso positivo aggiungi alla variabile TotalPrice
                    'il valore del prezzo corrispondente  e aumenta il contatore count per contate gli elementi selezionati
                    If cb.Checked Then
                        TotalPrice += CDec((dgi.Cells(2).Text))
                        ID_Calendario += (dgi.Cells(0).Text) & ","
                        Count += 1
    
                    End If
                Next
                j += 1
    
            Next
            Response.Write(Ritem.ItemIndex)
    
            'Scrivi nella il Prezzo 
                 L_Prezzo_Tot.Text = String.Format("{0:#,##0.00}", TotalPrice)
         
        End Sub
    Ora riesco a calcolare i primi 7 cioè il primo datagrid mentre non so come prelevare i valori dai altri datagrid..
    Da quello che ho capito lui crea automaticamte delle righe e dei datagrid a seconda di quante categorie ho..percui ..come faccia dirgli dirgli di passare tutti i datagrid creati????

    Immagini allegate Immagini allegate

  2. #2
    Prova a sostituire la riga

    codice:
    Dg = CType(R_Categoria.Items(0).Controls(1), DataGrid)
    con questa

    codice:
    Dg = CType(Ritem.Controls(1), DataGrid)
    Nel primo caso tu cercavi sempre e solo sul primo item, nel caso che ti ho messo io ad ogni item cerchi il datagrid

  3. #3
    Ciao , mi ero accorto pure io di che avevo sbaglito ..e ho fatto il cambiamento come tu dicevi però non va ..

    Errore:
    Cast specificato non valido


    Non riesco a ricavarmi il DataGrid annidato..
    cavoli..


    so che per esempio si a un datagrid. dentro a un repeater io facevo cosi per ricavarmelo

    RepeaterCatNuoto.Items(0).FindControl("Dg_Dettagli o")

    il problema che se uso un RepeartItem non ho la prorpietà Items


    questo era con un repeart ma non credo che cambia con un Datalist
    ..
    Comunque non riesco a risolvere sto problema. ..
    Altre idee...come posso cercare???

  4. #4
    Non puoi fare un findcontrol sull'RItem tipo

    RItem.findControl("datagrid")

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.