Comment numéroter les lignes d'un DataGridView?
La façon de numéroter les lignes d'un datagridView ? Que lorsque j'ajoute des lignes supplémentaire, le nombre augmente ?
Est-ce DataGridView est limitée ou illimitée? Comment voulez-vous remplir le datagridview? via DataTable ou de la Liste?
À L'Aide De DataTable
Je ne comprendrai jamais pourquoi les gens utilisent
À L'Aide De DataTable
Je ne comprendrai jamais pourquoi les gens utilisent
DataGrid
et DataGridView
de façon interchangeable. Ils sont deux différents contrôles.OriginalL'auteur user891757 | 2012-01-07
Vous devez vous connecter pour publier un commentaire.
Plutôt utiliser RowPostPaint cas de datagridview
OriginalL'auteur Malik Niaz
Ce que j'ai fait dans le OnPageLoad après avoir chargé ma source de données dans gridview a été de définir une valeur dans la RowHeaderCell avec une simple boucle:
J'ai essayé le ci-dessus sugestion avec la boucle dans les deux OnRowPostPaint et OnCellPostPaint ils ont entraîné avec flikering les numéros de ligne
Acclamations
OriginalL'auteur Alex
//récupère le nombre total de lignes
OriginalL'auteur Jayesh Goyani
Vous devez ajouter
AutoIncrement
colonne enDataTable
. Je présume que vous avez une instancedataTable
deDataTable
.OriginalL'auteur adatapost
La plupart de ces solutions de travail pour d'abord ajouter les numéros de ligne. Toutefois, si vous ajoutez les numéros de ligne de la ligne d'en-tête et puis réorganiser une colonne, ils disparaissent tous. Donc, ce que vous devez faire est d'utiliser
DataGridViewBindingCompleteEventhandler
pour ajouter les numéros de ligne à chaque fois que l'les liaisons de données de changement de
Avec ce code, lorsque vous ajoutez une ligne, supprimer une ligne, réorganiser les colonnes, etc., les numéros de ligne restera.
OriginalL'auteur TFischer
Ali Foroughi a la bonne idée, j'ai légèrement modifié sa réponse pour travailler avec databound gridview ainsi que l'on construit manuellement.
ajouter à la RowsAdded Événement
Les lignes ajoutées feux à chaque fois 1 ou plusieurs des lignes sont ajoutées. e.rowindex est la première ligne, de l'e.nombre de lignes est le nombre total de lignes ajoutées.
Remarque: Cela suppose que la première colonne est votre numéro de Ligne de la colonne, modifier les Cellules de[0] à Cellules[n] où n= la colonne que vous avez votre numéro de Ligne de la colonne
OriginalL'auteur General Grey
Ajouter une colonne à votre grille avec le titre de "Numéro" (première colonne) et de mettre ce code dans sa OnRowAdded événement :
vous devez remplir votre grille manuellement et ne lie pas
Edit: cela fonctionne sur une liste liée, aussi longtemps que vous lier d'abord, puis construire la liste.
Cliquez?!!de la sorte ? vous mettre l'ensemble de la méthode ici
même pour ce que vous avez écrit
Excellente réponse. Erreur de syntaxe mineur. Et il fonctionne sur la liste liée aussi longtemps que vous lier d'abord, puis construire.
OriginalL'auteur Ali Foroughi
Si vous souhaitez utiliser le RowPostPaint événement comme Malik Niaz a suggéré que vous feriez mieux de jeter l'expéditeur comme un DataGridView. De cette façon, vous pouvez copier et coller le code dans un RowPostPaint de l'événement et être capable de l'utiliser sans aucune modification.
À l'aide de la RowPostPaint l'évènement, j'ai trouvé qu'il produit quelques problèmes graphiques. Pour les débutants que pour les numéros de ligne se met à clignoter et les barres de défilement va disparaître. Si vous avez manuellement le chargement de votre DataGridView et pas de liaison à une source de données, alors vous devriez être en mesure d'utiliser le RowsAdded événement. Vous pouvez ensuite utiliser le même code que ci-dessus.
L'alternative pour ceux qui sont à la liaison de leur DataGridView est de créer une méthode pour parcourir et le numéro de chaque ligne.
Cela peut ensuite être appelée une fois que vous chargez vos données dans le DataGridView.
OriginalL'auteur Death259
Ajouter une colonne à votre grille avec le titre de "Ligne Numérique" et de la convertir en modèle de champ
Eval RowIndex nombre et la Convertir en entier et ajouter un..
Ou Copie ci-dessous le code à l'intérieur de votre datagrid
OriginalL'auteur user2740253
Basé sur ce que j'ai appris ici, puis de l'expérimentation, voici ce qui a fonctionné pour moi dans VB. Il renumérote les lignes lorsqu'un enregistrement est ajouté ou supprimé.
OriginalL'auteur Mike Banach
<asp:Label ID="rowNumber" runat="server" /> in <ItemTemplate>
puis ajouter un gestionnaire:
OriginalL'auteur Leonid
Si vous voulez voir la ligne # dans la ligne d'en-tête (c'est à dire pas dans la grille), assurez-vous d'utiliser le HeaderCell propriété des Lignes[] comme suit. Cela gère la RowPostPaint cas de la datagridview.
OriginalL'auteur Gary Huckabone
Une manière plus simple est de définir l'en-tête de ligne des valeurs dans le pré de la peinture. Ensuite, vous devez vous assurer qu'ils ne sont pas déjà définies sur l'avenir de la peinture parce que la définition de la valeur entraîne une autre peinture. Cet extrait a travaillé pour moi et ne cause pas de en continu les peintures. Cela permettra également de garder les lignes numérotées correctement (1..nn) même si vous triez ajouter ou supprimer des lignes. Fonctionne très bien avec la liaison.
OriginalL'auteur Bill Langlais