Visualizzazione dei risultati da 1 a 4 su 4

Discussione: GridView e controlli in EditItemTemplate e ItemTemplate

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    532

    GridView e controlli in EditItemTemplate e ItemTemplate

    Ciao a tutti, chiedo lumi (uso ASP.NET e C#):

    ho una prima tabella TBL1 di database così fatta:

    ID----CLASSE-------------ALUNNI
    1-----prima---------------3,42,6,644,113,142,611,61
    2-----seconda-------------32,422,62,62,1123,1422,6211,621
    3-----terza----------------302,4022,602,602,10123,14022,62011,6201
    ......
    dove nella colonna ALUNNI ritrovo gli ID degli alunni che stanno in quella CLASSE
    ed una seconda tabella TBL2 composta da tutti gli alunni della scuola:

    ID----NOME
    3-----Monica
    42----Vanessa
    6-----Carla
    ...

    Desidero inserire tale informazione in una Gridview:
    ► in Visualizzazione:

    ID ------- CLASSE -------- ALUNNI
    1----------prima-----------Monica, Vanessa, Carla,
    -----------------------------(inseriti in TextBox Multiline oppure DropDownlist)
    ...

    ► in Modifica, avere la possibilità di modificare solo gli alunni, avendo la possibilità
    di scegliere tra tutti quelli presenti nella scuola :
    ID ------- CLASSE -------- ALUNNI
    1----------prima-----------Monica, Vanessa, Carla, ...
    ...

    sono bloccato ad una Gridview contenente

    ID----CLASSE-------------ALUNNI
    1-----prima---------------3,42,6,644,113,142,611,61
    2-----seconda-------------32,422,62,62,1123,1422,6211,621
    3-----terza----------------302,4022,602,602,10123,14022,62011,6201

    con gli ID ALUNNI in label durante la visualizzazione e Textbox durante la modifica.
    come proseguire?

  2. #2
    Modifica il DB!!!!

    La relazione tra le due tabelle è rappresentata in maniera errata.
    dovrebbe essere:
    codice:
    tblAlunni
    id - Nome - idClasse
    
    tblClassi
    id - Nome
    Oppure
    codice:
    tblAlunni
    id - Nome
    
    tblClassi
    id - Nome
    
    tblfrequentazioni
    idAlunno - idClasse
    Comincia da qui, poi vediamo come modificare la pagina web

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    532
    ho modificato come mi hai detto:

    tblAlunni
    id - Nome

    tblClassi
    id - Nome

    tblfrequentazioni
    idAlunno - idClasse

  4. #4
    bene, ora ti do una delle possibili soluzioni, segui i passi attentamente:

    - inserisci una gridview e da smarttag crea un nuovo datasource
    - scegli sqldatasource e crea questa query:
    SELECT * FROM tblClassi
    - completa il widzard

    - creata questa prima griglia, aggiungi una colonna
    - dentro questa colonna inserisci un controllo a te più consono, che potrebbe essere un'altra griglia o un listview
    - segui il procedimento di prima mettendo questa query:
    SELECT * FROM tblAlunni A INNER JOIN tblFrequentazioni F
    on a.idAlunno = F.idAlunno
    Where F.idClasse=@idClasse
    - completa il widzard

    - rimuovi la proprietà DataSourceID dalla seconda griglia
    - aggiungi l'evento onrowdatabound alla PRIMA griglia
    - nel metodo gestore dell'evento metti questo codice:
    codice:
    GridViewRow row = e.Row;
    if (row.DataItem == null) return;
    
    GridView gv = row.FindControl("IdSecondaGriglia") as GridView;
    SqlDataSource ds = row.FindControl("IdDataSource") as SqlDataSource;
    
    ds.SelectParameters[0].DefaultValue = ((DataRowView)row.DataItem)["idClasse"].ToString();
    gv.dataSource = ds;
    gv.DataBind();
    Se non ho fatto errori a scrivere, sei a posto.. ...

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