如何将WPF Datagrid绑定到连接表

时间:2009-12-07 23:25:53

标签: wpf data-binding datagrid inner-join

我有一个大问题。我尝试将我的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 个答案:

答案 0 :(得分:2)

您提供的代码似乎没问题 - 对象的创建方式无关紧要 - 重要的是对象本身。

不应向我们展示,而应展示xaml。

还有一件事 - 我们是在谈论winforms中的DataGridView,还是WPF Toolkit附带的DataGridView?

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

对不起。我首先想念它 - 你班上没有属性!您已经创建了公共字段而不是属性,这可能就是问题所在。

代码应如下所示:

 public class NeshtoSi
{
    public NeshtoSi() { }

    public string ssn{get; set;}
    public string name{get; set;}
    public string surname{get; set;}
}

答案 1 :(得分:0)

我最近经历了这个问题,我的帖子中概述了答案here