J'ai la page où j'affiche la liste des tâches (avec jQuery DataTable) et je souhaite un nom d'employé d'affichage avec le nombre de tâches de Thire. Par exemple:
Smith (2) | John (1) | Thomas (1) P>
Tables: P>
attribuName: p>
tâches (assignade ): P>
ici ce que j'ai fait: p>
Ici, je reçois la liste des tâches et sélectionnez des propriétés: p> elle itérant sur les résultats pour obtenir compter chaque identifiant: p> mettre tout le code ensemble (pour la simplicité, je supprime le code inutilisé ): P> public List<ItemGroup> ItemGroups { get; set; }
public class ItemGroup
{
public ItemGroup()
{
}
public int OpgaveServicesId { get; set; }
public string Opgaver { get; set; }
public string Opretteaf { get; set; }
public DateTime? OpretteDato { get; set; }
public int Opgaveid { get; set; }
public int OpgaveSmartid { get; set; }
public string Opgavestatus { get; set; }
public int? Assingid { get; set; }
public string EmployeeNames { get; set; }
}
3 Réponses :
Portée de Pour résoudre ce problème, stockez chaque ASSIFCOUNT CODE> La variable est limitée à la boucle de Foreach, c'est-à-dire que vous obtenez assingID code> et EMBALINES code> comme une null à la fin de programme. attribucount code> dans la liste, de sorte que vous puissiez accéder à tous les comptes de foreach p> ...
//Define list of List of ItemGroup, as AssignCount is of type List<ItemGroup>
List<List<ServicetasksVM.ItemGroup>> itemGroups = new List<List<ServicetasksVM.ItemGroup>>();
foreach (var item in result)
{
var AssignCount = db.AssignName.Where(c => c.Id == item.Assingid)
.GroupBy(x => x.Name)
.Select(b => new ServicetasksVM.ItemGroup { Assingid = b.Count(), EmployeeNames= b.Key })
.ToList(); //Convert To List
itemGroups.Add(AssignCount); //Add each `AssignCount` to itemGroups
}
//Now list of AssignCount(s) is(are) accessible outside foreach loop
...
Oui, je l'ai fait mais j'ai eu une erreur: impossible de convertir des collections.Generic.List
var itemgroups = nouvelle liste
Pas de problème :) erreur disparaît. Mais il y a un problème d'espoir que vous pourrez m'aider :) quand j'ai cette ligne JSONRESULT JSON JSON = JSON (Nouvelle {Data = Résultat}, JSONRQUESTBEHAVORT.AXIALT) - ASSINDID et EMBALIALES sont NULL, mais lorsque je change cette ligne à JSONRESULT JSON = JSON (Nouveau {Data = itemGroups} - AssingID et les noms d'emploi ne sont pas nuls, mais je n'ai pas de propriétés d'autres que cela va simplement revenir à la convivialité et à l'emploi et non les autres.
Laissez-nous Continuer cette discussion dans le chat a >.
Votre quelque chose comme: p> pour code> La boucle est en train de compter et de l'attribuer à la variable attribue code> qui n'existe que dans la portée de la boucle code>. Vous devez capturer ce résultat dans une variable située en dehors de la portée de la boucle pour réussir celle de votre vue.
variable assigncompt code> est local dans la forecheche code> boucle. mieux créer une collection en dehors de la boucle et continuer à y ajouter à l'intérieur de la boucle. P>
J'ai une suggestion ici. Supprimer
opretteafe code> de la table des tâches, c'est redondantvar assigncount = ... code> - il semble que vous créiez simplement une variable à l'intérieur de votre boucle de Foreach qui sera jetée.Vous pouvez également vous s'il vous plaît ajouter les classes d'entités?