DataGridView RowCount vs Rows.Compter
si j'ai un DataGridView uxChargeBackDataGridView
.
les éléments suivants sont-ils syntaxiquement différents mais effectivement identiques?:
int numRows = uxChargeBackDataGridView.Rows.Count;
int numRowCount = uxChargeBackDataGridView.RowCount;
Si uxChargeBackDataGridView
est vide alors les deux sont égaux à 1; est-il donc logique que si l'un de ces deux est égal à 1, je puisse supposer que l'utilisateur n'a pas entré de données?
le WinFroms a un bouton RUN
- puis-je utiliser le test ci-dessus pour décider si ce bouton est activé ou pas je.e uniquement activer le bouton lorsque l' number of rows is >1
?
5 réponses
Les deux énoncés sont les mêmes. Cependant, une chose à se rappeler est qu'un datagridview "vide" a 1 Enregistrement seulement si le AllowUsersToAddRow
la propriété est définie à true. Dans le cas contraire, le nombre de rangs sera nul.
modifier: Je voudrais ajouter, au lieu de la réponse DE MMK que si vous ne changez pas le RowCount, que ce soit manuellement ou programmatiquement, ils retourneront la même valeur. Voir http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rowcount.aspx.
RowCount obtient ou définit le nombre de lignes DataGridView.
Lignes.Count renvoie le nombre de lignes
si vous décompilez l'assemblage System.Windows.Forms.DataGridView
, vous allez voir:
public int RowCount
{
get
{
return this.Rows.Count;
}
Donc, RowCount
retourne Rows.Count
les instructions suivantes sont retournées avec le même résultat mais RowCount limite le nombre de lignes affichées dans DataGridView..
int numRows = uxChargeBackDataGridView.Rows.Count;
int numRowCount = uxChargeBackDataGridView.RowCount;
cochez la note ci-dessous sur le DataGridView.Nombre De Lignes De La Propriété
si AllowUserToAddRows est true, vous ne pouvez pas définir RowCount à 0. Dans ce case, appelle la DataGridViewRowCollection.Méthode claire pour enlever tout lignes sauf la ligne pour les nouveaux enregistrements. D'appel Clair a le même résultat comme mettre RowCount à 1 dans ce cas, mais est beaucoup plus rapide.
Si RowCount
est défini à une valeur inférieure à la valeur courante, les lignes seront retirées de la fin de la collection de lignes. Si RowCount est défini à une valeur supérieure à la valeur courante, des lignes seront ajoutées à la fin de la collection de lignes. Les lignes supplémentaires sont basées sur la ligne spécifiée dans la propriété RowTemplate.
si elle est vraie, alors une ligne vide par défaut est considérée. Il Implémente IBindingList l'interface. Ref:DataGridView - Que fait Allowuser Toaddrows?
si DataGridView est lié aux données, l'utilisateur est autorisé à ajouter des lignes si les deux cette propriété et de la source de données IBindingList.AllowNew les propriétés sont définies à true.
Si AllowUserToAddRows est vrai au moins une ligne sera toujours présent dans la grille pour le nouvel enregistrement. Pour exclure cette ligne, vérifiez la propriété IsNewRow sur l'objet row.