Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    C#: FormView (select, insert, update e delete) creato tutto in code behind

    Ciao a tutti.
    Sto cercando di creare un formview bindato con un sqldatasource che abbia abilitate tutte le funzioni (select, insert, update, delete), ma ho la necessità di farlo tutto in code behind, lato server. Ho cercato ovunque in rete ma non ho trovato nessun valido esempio a riguardo, tranne questo:

    http://msdn.microsoft.com/en-us/libr....formview.aspx

    che però mostra solamente come creare un itemtemplate. Nessun accenno alle altre modalità. In più lo trovo piuttosto complesso. Ho provato a implementarlo ed in effetti funziona, per cui potrei anche continuare su quella strada, ma non so proprio come muovermi per quanto riguarda le altre modalità del formview. Non so come gestire gli insert, i delete e gli update.

    Inizierei con questo: avreste qualche link o riferimento da darmi al riguardo? Dopo essermelo studiato un po' potrò fare domande più dettagliate.

    Premetto che sono un novellino in ASP.NET e c#, ma sto faticando davvero molto.

    Grazie mille a tutti.

  2. #2
    Aggiungo un po' di codice per fare goal a qualcuno.
    per la parte di visualizzazione semplince ho usato questo metodo:
    1- Creo un metodo che mi restituisca un template, un insieme di controlli:

    codice:
    void ITemplate.InstantiateIn(Control container) 
    { 
        Label Lbl_TitQualifica = new Label(); 
        Lbl_TitQualifica.Text = "Qualifica: "; 
        Label Lbl_DatiQualifica = new Label(); 
        Lbl_DatiQualifica.ID = "LabelQualifica"; 
        Lbl_DatiQualifica.DataBinding += new EventHandler(LblQualifica_DataBinding); 
        Label Lbl_TitNominativo = new Label();
        Lbl_TitNominativo.Text = "Nominativo: "; 
        Label Lbl_DatiNominativo = new Label(); 
        Lbl_DatiNominativo.ID = "LabelNominativo"; 
        Lbl_DatiNominativo.DataBinding += new EventHandler(LblNominativo_DataBinding);     
        container.Controls.Add(Lbl_TitQualifica); container.Controls.Add(Lbl_DatiQualifica);   
        container.Controls.Add(new LiteralControl("
    ")); 
        container.Controls.Add(Lbl_TitNominativo); container.Controls.Add(Lbl_DatiNominativo); 
    }
    2- Bindo il controllo
    codice:
                private void LblQualifica_DataBinding(object sender, EventArgs e)
                {
                    Label Lbl_QualificaControl = (Label)sender;
                    FormView FormViewContainer = (FormView)Lbl_QualificaControl.NamingContainer;
                    DataRowView rowView = (DataRowView)FormViewContainer.DataItem;
                    rowView["Qualifica"] = Lbl_QualificaControl.Text;
                }
    3- imposto la formview, con un sqldatasource precedentemente configurato e parametrizzato.

    codice:
                Fv_DettaglioClienti.DataSource = Ds_DettaglioClienti;
                Fv_DettaglioClienti.ItemTemplate = new MySelectTemplate();
                Fv_DettaglioClienti.DataBind();


    Ho provato a fare la stessa cosa per l'implementazione del template di inserimento. Il primo pezzo no problem. Il terzo nemmeno. Mi sono impantanato al momento di descrivere il binding. Per esempio:

    codice:
                void ITemplate.InstantiateIn(Control container)
                {
                    Label Lbl_TitQualifica = new Label();
                    Lbl_TitQualifica.Text = "Qualifica: ";
                    TextBox Tb_Qualifica = new TextBox();
                    Tb_Qualifica.ID = "Tb_Qualifica";
                    Tb_Qualifica.DataBinding += new EventHandler(TbQualifica_DataBinding);
    
                    Label Lbl_TitNominativo = new Label();
                    Lbl_TitNominativo.Text = "Nominativo: ";
                    TextBox Tb_Nominativo = new TextBox();
                    Tb_Nominativo.ID = "Tb_Nominativo";
                    Tb_Nominativo.DataBinding += new EventHandler(TbNominativo_DataBinding);
    
                    container.Controls.Add(Lbl_TitQualifica);
                    container.Controls.Add(Tb_Qualifica);
                    container.Controls.Add(new LiteralControl("
    "));
                    container.Controls.Add(Lbl_TitNominativo);
                    container.Controls.Add(Tb_Qualifica);            
                }
    
                private void TbQualifica_DataBinding(object sender, EventArgs e)
                {
                    Label Lbl_QualificaControl = (Label)sender;
                    FormView FormViewContainer = (FormView)Lbl_QualificaControl.NamingContainer;
                    DataRowView rowView = (DataRowView)FormViewContainer.DataItem;
                    
    // Qui il problema!!!!! : cosa devo fare giunto qui???? Sicuramente quello scritto sotto è una bagginata...
                    Lbl_QualificaControl.Text = rowView["Qualifica"].ToString();
                }
             }

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.