En développant, nous utilisons un contrôle pour représenter un champ.
Plusieurs contrôles >> plusieurs champs.
Bind et eval :
http://msdn2.microsoft.com/fr-fr/library/ms178366%28VS.80%29.aspx
La fonction Eval sert à définir une liaison unidirectionnelle (en lecture seule) => One way binding.
La fonction Bind sert à une liaison bidirectionnelle (actualisable) => Two way binding.
Formulaire : FormView => Bind « Nom du champ»
Exemple :
<%# Bind("Nom") %>
<%# Eval("Nom") %>
"Nom" n’est autre que le nom d’un champ dans ma base de données.
Grid :
- Gridview :
Bind(«Nom_du_champ »)
Eval(«Nom_du_champ»)
List:
- DataTextField
- DataValueField
DataGrid:
- Evénement ItemDataBound: s’exécute à chaque fois qu’un item (ligne) d’un DataGrid est lié (databind).
- Evénement ItemCommand: Se produit lorsque l'utilisateur sélectionne une commande associée à un élément du DataGrid.
Rapatrier des données: DataSet ou DataReader ?
Exemple de fontion qui retourne l’age d’une personne et qui l’affiche dans un label lblAge:
Fonction GetAge() as integer
This.lblAge.Text = GetAge();
Utilisation de DataSet :
* Manipulation avancée lors de la consultation
* Reporting
* Transfert de données entre systèmes
* Windows Forms
Utilisation de DataReader :
* Web ReadOnly, structure légère, non transferable, performant
* Remplir des objets métier
* Parcourir des données avec un accès rapide (for loop)
DataSet/DataReader :
DataSet fait appel a un datareader, remplit les objets, ferme le datareader et ainsi la connexion.
DataSet/DataReader et les contrôles :
- Le contrôle SQLDataSource a 2 modes: DataSet et DataReader.
- XmlDataSource (FormView avec XmlDataSource, XPath("Book/Title") )
- DataSet et XML (ReadXml, WriteXml)
- ObjectDataSource (Classes et des collections de classes) (Formview, GridView, dropdownlist)