Как связать WPF Datagrid с объединенным столом - PullRequest
2 голосов
/ 08 декабря 2009

У меня большая проблема. Я пытаюсь привязать свой WPF DataGrid к таблице, созданной с помощью внутреннего соединения. Я создал класс для успешного преобразования информации:

public class NeshtoSi
{
    public NeshtoSi() { }

    public string ssn;
    public string name;
    public string surname;
}

А потом я создаю внутренние таблицы. Тем не менее, когда я назначаю ItemsSource и все значения передаются должным образом, но DataGrid не отображает их.

var dd = from d in dataContext.Medical_Examinations
         join p in dataContext.Patients on d.SSN equals p.SSN
         select new NeshtoSi { ssn = d.SSN, name = p.Name, surname = p.Surname };


IQueryable<NeshtoSi> sQuery = dd;

if (!string.IsNullOrEmpty(serName.Text))
    sQuery = sQuery.Where(x => x.name.Contains(serName.Text));
if (!string.IsNullOrEmpty(serSurame.Text))
    sQuery = sQuery.Where(x => x.surname.Contains(serSurame.Text));
if (!string.IsNullOrEmpty(serSSN.Text))
    sQuery = sQuery.Where(x => x.ssn.Contains(serSSN.Text));

var results = sQuery.ToList();

AnSearch.ItemsSource = sQuery;

Я надеюсь, что кто-то может мне помочь ...

Ответы [ 2 ]

2 голосов
/ 08 декабря 2009

Код, который вы представили, выглядит нормально - не важно, как создается объект, - важен сам объект.

Вместо того, чтобы показывать нам это, вы должны показать xaml.

Еще одна вещь - мы говорим о DataGridView из winforms или, скорее, о том, что поставляется с WPF Toolkit?

=======================================

Извините. Я пропустил это в первую очередь - у вас нет свойств в вашем классе! Вы создали открытые поля вместо свойств, и это, вероятно, проблема.

Код должен выглядеть так:

 public class NeshtoSi
{
    public NeshtoSi() { }

    public string ssn{get; set;}
    public string name{get; set;}
    public string surname{get; set;}
}
0 голосов
/ 08 декабря 2009

Я прошел через это недавно, и ответ обрисован в общих чертах в моем сообщении, которое здесь

...