Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Datagrid, datalist e repeater

    Secondo voi è possibile usare uno di questi tre controlli per ottenere una tabella simile a quella dell'homepage del forum?

    In altre parole, date due tabelle di database di questo tipo:
    codice:
    ----------Categoria-----
    Cat_Id   Cat_Nome
       1     Programmazione
       2     Altro
       3     Hardware
    
    -----------Forum-------
    Fo_Id    Fo_Cat  Fo_Nome
       1       1      ASP
       2       2      Off Topic
       3       1      PHP
       4       3      Palmari
    è secondo voi possibile ottenere una tabella di output di questo genere usando datagrid, datalist o repeater:

    codice:
    + Programmazione
      - ASP
      - PHP
    + Hardware
      - Palmari
    + Altro
      - Off Topic
    Ciao e grazie
    www.radiana.it - Spartiti musicali e Mp3

  2. #2
    sono quasi sicuro al 100% che con un datalist lo puoi fare
    fai ciclare una tabella nelle righe di una tabella, capito ?

    nell' item template ci metti dentro una tabella
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  3. #3
    Non ho capito...tieni presente che io con un inner join ottengo una tabella di questo tipo:

    codice:
    ------------------------Query----------------------------
    Fo_Id    Fo_Cat  Fo_Nome      Cat_id       Cat_Nome
       1       1      ASP             1         Programmazione
       2       2      Off Topic       2         Altro
       3       1      PHP             1         Programmazione
       4       3      Palmari         3         Hardware
    Come imposteresti il ciclo?
    www.radiana.it - Spartiti musicali e Mp3

  4. #4
    sono andato a vedermi meglio sul libro la cosa, ma me la ero confusa con una pagina master-detail con datalist (che comunque come problematica è simile)

    ora ho capito cosa vuoi fare (e anche perchè hai postato sul forum... non è proprio così banale)

    in ogni caso prova:
    nella join ficcaci anche order by Cat_Nome così ti diventa
    ------------------------Query----------------------------
    Fo_Id Fo_Cat Fo_Nome Cat_id Cat_Nome
    1 1 ASP 1 Programmazione
    3 1 PHP 1 Programmazione
    2 2 Off Topic 2 Altro
    4 3 Palmari 3 Hardware
    a sto punto l'elemento che devi far ciclare è
    cat-nome
    fo_nome

    solo che se lo fai ciclare così ti diventa
    programmazione
    asp
    programmazione
    php
    etc

    mentre tu vuoi

    programmazione
    asp
    php
    ...

    secondo mè devi riuscire a fare un controllo sul campo cat-nome e vedere se il precedente era uguale
    se è uguale non scrivi niente altrimenti scrivi

    spero di averti dato una buona idea
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  5. #5
    Per la verità l'idea che ho in mente è proprio quella (del resto è una tecnica che in ASP normale ho sempre usato):
    - ordino per categoria
    - setto una variabile con l'ID della Categoria e con un ciclo faccio un confronto ogni volta: se è uguale scrive solo il nome del forum, se è diversa scrive il nome della categoria e poi setto la variabile con il valore della nuova categoria e così via...

    Quello che mi interessa è usare questa tecnica sfruttando le potenzialità di ASP.NET (altrimenti tanto valeva che facevo tutto in ASP classico). Quindi voglio capire se posso fare tutto con un datagrid (però non riesco a capire come) e soprattutto se posso fare il ciclo e i vari confronti almeno lavorando su dataset o datatable anzichè sul database.

    Ciao
    www.radiana.it - Spartiti musicali e Mp3

  6. #6
    io mi creerei via codice 2 datagrid e 2 dataset

    ds1/dg1 -> le categorie principali
    ds2/dg2 -> le categorie secondarie

    per ogni riga del ds1 riempio il ds2 (dopo averlo pulito) e lo metto nel dg2

    la prima colonna del dg1 sarà la categoria principale e la seconda conterrà dg2. togli la formattazione e simili e schippi via veloce veloce

  7. #7
    mah per una soluzione così "custom" non sò se c'è in automatico
    magari guarda qui
    http://www.datagridgirl.com/

    il controllo mi sà lo devi fare comunque....
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  8. #8
    Ok, grazie. Provo e vi faccio sapere (tanto figurarsi se non avrò qualche inghippo)

    www.radiana.it - Spartiti musicali e Mp3

  9. #9
    Alla fine ho deciso di rinunciare ai datagrid ed usare due repeater perchè con il datagrid mi incasinavo ad intabellare i dati. Comunque grazie a dataset e dataview alla fine è venuto fuori un lavoretto anche decente.

    Ora però, sempre per il solito motivo di voler sfruttare le novità di ASP.NET, vorrei fare tutto in code-behind. Tutta la sub Page_Load è in un file .vb mentre nella pagina .aspx ci sono i due repeater.
    Voi come impostereste il code-behind: lascereste nel file .aspx i due repeater anche se questo significa che nella pagina ci sarà del codice (mi riferisco ai vari <%# Container.DataItem("xxx") %>) oppure mettereste nel file .aspx un placeholder e aggiungereste i repeater da codice nel file .vb? Naturalmente se avete una terza soluzione dite pure.

    Ciao e grazie
    www.radiana.it - Spartiti musicali e Mp3

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    In passato ho fatto la stessa cosa, ad ogni riga controllavo che la categoria fosse uguale alla precedente, altrimenti aggiungevo una riga.

    Hey hey, my my Rock and roll can never die!

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.