c# winform, как фич или как получить userId из группы - PullRequest
0 голосов
/ 06 мая 2020

Я показываю, сколько пациентов имеют определенные c заболевания, и группирую по возрасту. Я вычисляю их возраст с помощью функции CalculateAge Допустим, люди в возрасте 40 лет - это 10 человек, страдающих определенными заболеваниями, а люди в возрасте 30 лет - так много ... а людей в возрасте 50 лет так много .... et c. Вы уловили идею. Мой код отлично с этим работает. Но как я могу получить их идентификатор? Я имею в виду, как я могу отобразить, кто эти люди, как их имя, по ячейке. Щелчок по datagridview Как можно найти или получить идентификаторы этих людей? Каким-то образом я должен собирать их в массиве и использовать их внутри datagridview ClickEvent? У меня проблема со следующим шагом, чтобы отображать имя и фамилию каждого пациента, когда я нажимаю строку datagridview. Это мой код для отображения по возрасту группы, он отлично работает

    var result = await(from u in db.Patient
                        join a in db.Analys on u.PatientId equals a.PatientId
                        where a.diseaseId == diseasId
                        select u.DOB).Distinct().ToListAsync();
                        var data = result
                        .GroupBy(x => CalculateAge(x.ToString()))

                                     .Select(grp => new
                                     {
                                         Age = grp.Key,
                                         Amount = grp.Count()
                                     }).ToList();


                        dgvResult.DataSource = data;

Но здесь я хочу подробно отобразить эти люди

private void dgvResult_CellClick(object sender, DataGridViewCellEventArgs e)
{

            if (e.RowIndex > -1)
            {

                     // Here I can only catch age but this mean all patients whtin this age and will not be correct
                    int age =  Convert.ToInt32(dgvResult.Rows[e.RowIndex].Cells[0].Value.ToString());
            }
}

Надеюсь, вы уловили идею, и, пожалуйста, Помогите. Заранее спасибо!

1 Ответ

0 голосов
/ 07 мая 2020

Я не уверен, но если вам это нравится, что вы получите?

    int[] PatiendIds;
//then in your select new 
    select new {u.DOB, u.PatientId}).Distinct().ToListAsync();
     PatiendIds = result.Select(x => x.u.PatientId).ToArray(); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...