2010-09-08 19 views
1

J'ai un contrôle grdidview sur la page .aspx et j'essaie de me connecter dynamiquement à partir du code derrière et de lier le gridview mais en quelque sorte il me renvoie une erreur ... quel est le problème avec cette code? de l'aide?Liaison LinqDataSource du code-behind à Gridview

LinqDataSource LDS_POReport = new LinqDataSource(); 
      LDS_POReport.ContextTypeName = "DataContextDataContext"; 
      LDS_POReport.Selecting += new EventHandler<LinqDataSourceSelectEventArgs>(LinqDataSourcePO_Selecting); 
      this.gvReport.DataSource = "LDS_POReport"; 
      //this.gvReport.DataBind(); 

Mise à jour:

après que je mets à jour le code à

this.gvReport.DataSource = LDS_POReport; 

il fonctionne très bien, mais quand j'essaie de trier i obtenir cette erreur:

Le GridView 'gvReport' événement déclenché Tri qui n'a pas été géré.

J'ai ajouté ceci mais aucun effet.

LDS_POReport.AutoPage = true; 
LDS_POReport.AutoSort = true; 
+1

Lorsque vous posez une question comme celle-ci, veuillez * toujours * inclure les détails de l'exception. "Il jette une erreur" n'est pas vraiment de tirer des conclusions. –

Répondre

3

Je suppose que que votre problème est ici:

this.gvReport.DataSource = "LDS_POReport"; 

La ligne de code ci-dessus tente d'attribuer une chaîne à une propriété qui attend une sorte de source de données. Je suppose que vous avez vraiment l'intention d'assigner l'objet LinqDataSource lui-même:

this.gvReport.DataSource = LDS_POReport; 
+0

Fred, ça marche mais le tri/la pagination ne fonctionne pas J'ai cette erreur "L'évènement déclenché par GridView 'gvReport' Tri qui n'a pas été géré" –

+0

@Nishar: quand 'AllowSorting' est' true' vous devez configurer un évènement gestionnaire pour l'événement 'Sorting'. Il semble qu'aucun tel gestionnaire d'événement n'est présent. –

0

La première chose, le DataSource devrait obtenir une référence à l'objet contenant les données, pas le nom de l'objet contenant les données. GridViews peut fonctionner de manière réfléchie, mais pas de façon réfléchie.