Comment trouvez-vous le nombre d'éléments dans une colonne dans une grille?Nombre d'éléments dans une colonne à l'intérieur d'une grille
J'ai une grille (contrôle listview pour être spécifique), et j'ai quelques éléments. Parfois, une ligne donnée peut ne pas être pleine. ANd peut avoir des valeurs inférieures à des colonnes maximales. J'ai besoin de trouver le nombre d'éléments dans une colonne donnée.
Si la grille est comme
1 2 3
4 5 6
7
et si la colonne d'entrée est 1, alors nous avons besoin à la sortie 3 et 2 pour l'entrée de 2 ou 3.
J'ai des variables à des ItemCount, CoulmnCount et RowCount qui suivent le nombre d'éléments, de lignes et de colonnes.
Une façon très rudimentar serait quelque chose comme ceci:
int iItemCount=0,iItemInColumn=0;
for(int iCol=0;iCol<iColumnCount;iCol++)
for(int iRow=0;iRow<iRowCount;iRow++,iItemCount++)
if(iCol==iInputCol && iItemCount<iTotalItems)
iItemInColumn++;
Pouvez-vous les gars penser à quelque façon que ce sophesticated, qui n'a pas besoin de boucles? possible en utilisant seulement 3 variables que j'ai déjà pour le suivi?
Merci pour la réponse. Pour l'exemple donné, itemCount = 6, columnCount = 2 right? Avec votre formule pour inputColumn = 0: lastItemColumn = 0, renvoie la valeur 3, ce qui est correct. Mais pour inputColumn = 1 ou 2: lastItemColumn = 0, la valeur de retour est toujours 3, ce qui est incorrect. Est-ce que je manque quelque chose en suivant votre logique? – Adarsha
Non, vos exemples seraient: itemsInColumn (7, 3, 0), itemsInColumn (7, 3, 1) et itemInColumn (7, 3, 2), qui aboutissent respectivement à 3, 2 et 2. –
columnCount est le nombre de colonnes. Le seul index basé sur 0 dans l'entrée est inputColumn, dont la condition préalable est: 0 <= inputColumn