0

Dans ma grille j'ai des champs pour insérer un nouvel enregistrement dans le pied de page.Pourquoi ma fonction anonyme ne fonctionnera-t-elle pas sur grid.prerender?

Dans mon cas de sélection ObjectDataSource si aucun enregistrement est revenu je lie une rangée maquette unique pour forcer le pied de page pour montrer afin qu'ils peuvent encore ajouter des enregistrements. Comme la ligne ne contient pas de données réelles, je cache la ligne.

... 
    If result.ItemCount = 0 Then 
     result = mockRow 
     AddHandler mygridview.PreRender, AddressOf HideRow 
    End If 
End Sub 

Private Sub HideRow(ByVal sender as Object, ByVal e as EventArgs) 
    mygridview.Rows(0).Visible = False 
End Sub 

Cela fonctionne très bien. Cependant, je voudrais condenser comme ceci:

... 
    If result.ItemCount = 0 Then 
     result = mockRow 
     AddHandler mygridview.PreRender, Function() mygridview.Rows(0).Visible = False 
    End If 
End Sub 

Cette compile très bien, mais la ligne ne soit pas caché. Quelqu'un peut-il me dire pourquoi ma fonction anonyme ne se fait pas frapper?

+0

Pensez à utiliser le contrôle ListView. Il rend une colonne d'insertion pour vous. http://msdn.microsoft.com/en-us/library/bb515103.aspx Faire défiler vers le bas pour voir la figure. –

Répondre

2

Le problème est que vous créez une fonction qui renvoie une valeur booléenne au lieu d'attribuer une valeur. Si vous utilisez VB 2008, vous êtes bloqué, mais avec VB 2010, vous pouvez faire un sous-marin à la place.

AddHandler mygridview.PreRender, Sub() mygridview.Rows(0).Visible = False 
0

n'avez-vous pas besoin d'ajouter les paramètres?

AddHandler mygridview.PreRender, _ 
    Function(sender as Object, e as EventArgs) mygridview.Rows(0).Visible = False 
+0

Il doit être en mesure de les déduire. Je l'ai essayé dans les deux sens. Ça n'a toujours pas marché. – adam0101

0

C'est ce que vous avez besoin:

AddHandler mygridview.PreRender, Sub(sender as Object, e as EventArgs) mygridview.Rows(0).Visible = False 

Donc, vous étiez à la fois la moitié droite.

Questions connexes