Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 34

Discussione: Domanda su paginazione

  1. #1

    Domanda su paginazione

    ciao a tutti,
    io sto facendo un pannello di controllo. Fino ad ora ho utilizzato per paginare i record un DataGrid. Visto la mia inesperienza mi sono venuti alcuni dubbi.

    visto che per riempire un datagrid uso questa forma:
    codice:
    <asp:BoundColumn DataField="Codice" HeaderText="Codice"></asp:BoundColumn>
    prima di far vedere il datagrid io per ogni record devo fare la somma totale del prodotto di 2 campi. Poi dovrei selezionare sempre per ogni record il nome e il congnome e unirli in un'unica variabile.

    in asp facevo cosi:
    codice:
    sql= "SELECT DISTINCT id_ordine,id_cliente,data_ordine,Contattato FROM Ordine ORDER BY id_ordine DESC"
    Set rs=...
    for...
        query = "SELECT qta_prodotto,prezzo_prodotto FROM Ordine WHERE id_ordine="&Rs("id_ordine")
         for...
           tot = tot + Rs1("qta_prodotto")* Rs1("prezzo_prodotto")
         next
         query = "SELECT Nome, Cognome FROM Clienti WHERE id="&Rs("id_cliente")
         nominativo = Rs1("nome")&" "&Rs1("cognome")
    
         <table>...<%=tot%>...<%=nominativo%>...<%=Rs("campo")..</table>
    next

    ora come posso fare per personalizzare il + possibile una tabella e metterci dentro variabili come TOT, NOMINATIVO ecc..



    spero di essere stato chiaro.

    grazie.

  2. #2
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    Un modo può essere questo:

    <ItemTemplate> 'del datagrid o del datalist
    ...
    <%# Container.DataItem("nome") & " " & Container.DataItem
    ("cognnome")%>
    ...
    </ItemTemplate>

    ovviamente non devi usare la boundcolumn...
    Può andarti bene?
    Maddalena... Perché proprio Iacchetti!...

  3. #3
    si si, sicuramente.


    se io faccio una cosa del genere:

    query = "SELECT qta_prodotto,prezzo_prodotto FROM Ordine WHERE id_ordine="&Rs("id_ordine")
    for...
    tot = tot + Rs1("qta_prodotto")* Rs1("prezzo_prodotto")
    next

    la variabile tot l'inserisco sempre cosi:

    <%# Container.DataItem("tot") %>

  4. #4
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    Credo che così non funzioni, il comando Container.DataItem("xxx") recupera il valore di uno dei campi nella tabella e nel tuo caso "tot" non lo è!
    Devi quindi trovare un altro metodo, uno per esempio è quello inserire una label nel template e riempirne il contenuto con la variabile tot. Ok?
    Maddalena... Perché proprio Iacchetti!...

  5. #5
    tipo cosi:
    <asp:label id="totale" runat="server" Text='<%# tot %>' />

  6. #6
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    ...tipo così...

    Nel blocco di script:
    nomelabel.TEXT = nomevariabile --> totale.Text = tot
    Maddalena... Perché proprio Iacchetti!...

  7. #7
    scusate uan cosa :
    codice:
    <ItemTemplate>
      <asp:HyperLink id="ordine" Text='<%# Container.DataItem("id_ordine") %>' NavigateUrl='<%# "ordine.aspx?codice=" + HttpUtility.UrlEncode(DataBinder.Eval(Container.DataItem,"id_ordine")) %>' Target=_self runat="server" />
       <asp:HyperLink id="Nominativo" Text='<%# Container.DataItem("Cognome")+ " " +Container.DataItem("Nome") %>' NavigateUrl='<%# "cliente.aspx?codice=" + HttpUtility.UrlEncode(DataBinder.Eval(Container.DataItem,"id_cliente")) %>' Target=_self runat="server" />
       <asp:label id="Totale" runat="server" />
    </ItemTemplate>
    forse mi sfugge qualcosa ma cosi com'è non è suddiviso a colonne. Invece di avere 3 colonne ne ho soltanto 1 con questi elementi.


    cosa non ho messo?

  8. #8
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    Dentro i tag <ItemTemplate> puoi mettere una tabella e riempire le celle con i tuoi valori!!!
    Maddalena... Perché proprio Iacchetti!...

  9. #9
    ho fatto cosi:
    codice:
    <asp:TemplateColumn HeaderText ="Prova">
      <ItemTemplate>
       <table border="0" width="100%">
        <tr>
          <td>
    	<asp:HyperLink id="ordine" Text='<%# Container.DataItem("id_ordine") %>' NavigateUrl='<%# "ordine.aspx?codice=" + HttpUtility.UrlEncode(DataBinder.Eval(Container.DataItem,"id_ordine")) %>' Target=_self runat="server" />
          </td>
          <td>
            <asp:HyperLink id="Nominativo" Text='<%# Container.DataItem("Cognome")+ " " +Container.DataItem("Nome") %>' NavigateUrl='<%# "cliente.aspx?codice=" + HttpUtility.UrlEncode(DataBinder.Eval(Container.DataItem,"id_cliente")) %>' Target=_self runat="server" />
         </td>
         <td>
           <asp:label id="Totale" runat="server" />
         </td>
        </tr>
       </table>
     </ItemTemplate>
    </asp:TemplateColumn>
    Però cosi facendo non ho la possibilità di settare HeaderText Per le 3 colonne che ho dentro all'ItemTemplate

    mi farebbe molto comodo averle, c'è una soluzione o nell'Header Text del TemplateColumn dovrò fare cosi:
    <asp:TemplateColumn HeaderText ="Prova Prova1 Prova2">

  10. #10
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    Non ne hai bisogno! Createle tu le intestazioni delle colonne con i normali tag <tr> e <td>! Non va bene in questo modo???
    Maddalena... Perché proprio Iacchetti!...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.