Mahfoud Bouabdallah Ответов: 1

Список группировок перед добавлением в gridview


У меня есть этот код, который добавляет элементы в список
private void GetParts(bool AllObjects)
{
    ModelObjectEnumerator ImportModel = null;
    List<Beam> parts = new List<Beam>();
    if (AllObjects)
    {
        ImportModel = MyModel.GetModelObjectSelector().GetAllObjectsWithType(ModelObject.ModelObjectEnum.BEAM);
    }
    else
    {
        TSMUI.ModelObjectSelector GetSelectedObjects = new TSMUI.ModelObjectSelector();
        ImportModel = GetSelectedObjects.GetSelectedObjects();
    }

    while (ImportModel.MoveNext())
    {
        Beam ThisBeam = ImportModel.Current as Beam;

        if (ThisBeam != null)
        {
            parts.Add(ThisBeam);

        }
    }

После этого я должен повторить все элементы, добавляемые в GridView следующим образом
for (int i = 0; i < parts.Count; i++)
{ 
        DataRow row = dt.NewRow();

        var partMark = string.Empty;
        parts[i].GetReportProperty("PART_POS", ref partMark);
        row[0] = partMark;
        row[1] = parts[i].Profile.ProfileString;
        int num = 0;
        row[2] = parts[i].GetReportProperty("MODEL_TOTAL", ref num);
        double length = 0;
        parts[i].GetReportProperty("LENGTH", ref length);
        row[3] = length;
        dt.Rows.Add(row);
}

но прежде чем я это сделаю ,я хочу сгруппировать элементы с помощью (partMark, length ) и Sum(num ).

Как я могу это сделать?Заранее спасибо.

Что я уже пробовал:

Я пытаюсь использовать технику GroupBy но к сожалению у меня ничего не получилось

1 Ответов

Рейтинг:
2

Christian Graus

Учитывая, что вы не используете SQL, я бы начал со словаря списка элементов. Ключ-это ваша группа по значению. Итак, вы создаете словарь списков, то есть свою коллекцию сгруппированных по объектам объектов. Тогда идите оттуда