Получить значение из выбранной строки DataGridView WPF - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть событие в DataGridView MouseDoubleClick, и когда я щелкаю по любой строке, я хочу получить значение из 1 столбца.

Мой источник данных относится к классу WZ_DWS_SITO.Я создал метод, который извлекает данные из базы данных:

public void getdata()
    {

        EntitiesSito db = new EntitiesSito();

        var query = (from d in db.WZ_DWS_SITO
                     orderby d.WZ_DATA descending
                     group d by new { d.WZ, d.KUNNR, d.WZ_DATA } into grp
                     select new
                     {
                         grp.Key.WZ,
                         grp.Key.KUNNR,
                         grp.Key.WZ_DATA,
                         MATERIAL = grp.Count(),
                     }).ToList();

        datagridview.ItemsSource = query; 

    }

Далее, когда я нажимаю на элемент строки, я хочу получить значение ячейки из 1 столбца.

Я пытаюсь это:

var wz = (datagridview.SelectedItem as WZ_DWS_SITO).WZ;

Но не работает: / Я получаю сообщение об ошибке:

The object reference has not been set to the instance of the object.

Далее я пытаюсь:

WZ_DWS_SITO wka = (WZ_DWS_SITO)datagridview.SelectedItem;

И я получаю ошибку проекции, и я делаюне знаю, что происходит до конца: /

Пожалуйста, помогите:)

1 Ответ

0 голосов
/ 10 декабря 2018

После использования select new ключевых слов вы имеете дело не с WZ_DWS_SITO классом больше, а с новым анонимным.

Сначала создайте класс для ваших данных:

   public class GroupedData 
   { 
      public string WZ {get; set;} 
      public string KUNNR {get; set;} 
      public string WZ_DATA {get; set;} 
      public int MATERIAL {get; set;} 
   }

затем измените запрос:

select new GroupedData()
                     {
                         WZ = grp.Key.WZ,
                         KUNNR = grp.Key.KUNNR,
                         DATA = grp.Key.WZ_DATA,
                         MATERIAL = grp.Count(),
                     }

и используйте

GroupedData wka = (GroupedData)(datagridview.SelectedItem);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...