2010-12-14 76 views
0

Mon point de vue de la grille a quelques éléments que je peux supprimer chaque sucessfully en écrivant simplementException à la suppression vue Ligne Datagrid

ViewActiveJobs.Rows.RemoveAt(SelectedRow); 

mais cette aide dosent lors de la suppression dernière (une seule ligne remaning) produit en vue de la grille .J'ai liste déroulante utilisée pour ce travail qui a beaucoup d'options à partir de laquelle je peux sélectionner supprimer l'élément pour supprimer la ligne mais une exception est rencontrée Suppression dernière entery

Exceptions se produit à program.cs mon formulaire ne retourne aucune valeur à programmer .cs et le programme .cs a

Application.Run(new MainView(LoggedUserName,LoggedUserType)); 

pour exécuter un parent MDI et son enfant a vue DataGrid qui devrait être en mesure de supprimer des éléments

exception est Index -1 n'a pas de valeur.

Mais si je retire la ligne removeAt son bien ce qui se passe est enregistrement est supprimé à la base de données, mais pas frontend

+1

et quelle est l'exception? où est la trace de la pile? –

+0

La dernière ligne contient-elle des données ou s'agit-il de la ligne par défaut qui s'affiche lors de l'activation de AllowUserToAddRows? –

Répondre

0

Le contrôle GridView est très original, et vous êtes mieux à l'aide d'un contrôle du réseau tiers. Mais, si vous rencontrez un problème similaire à ce que j'ai rencontré dans le passé, le simple fait de rendre la vue de la grille invisible pendant la suppression de l'enregistrement final pourrait faire l'affaire, car le contrôle rencontre des problèmes afficher lorsque ses données sont "perdues". Mais, cela dépend vraiment de ce qu'est l'exception.

+0

Votre dernière modification à votre question note que l'exception est "Index -1 n'a pas de valeur". Une trace de pile serait utile, ici. Mais, cela ressemble à ce que j'ai rencontré dans le passé dans certains cas. Pour clarifier ce que j'ai suggéré, avant d'effectuer la suppression, définissez la propriété Visible Grid View sur false, supprimez l'enregistrement, puis redéfinissez la propriété Visible sur true. Si vous rencontrez toujours le problème par la suite, vous pouvez également essayer de déconnecter la source de données de la grille (bien qu'invisible) et de supprimer l'enregistrement de la source de données, puis de vous reconnecter à la grille –