2

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

我希望有人可以帮助我...

4

2 回答 2

2

您提供的代码似乎没问题 - 如何创建对象并不重要 - 重要的是对象本身。

与其向我们展示这一点,不如向我们展示 xaml。

还有一件事 - 我们是在谈论来自 winforms 的 DataGridView 还是 WPF Toolkit 附带的那个?

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

对不起。我一开始就错过了 - 你的班级没有属性!您创建了公共字段而不是属性,这可能是问题所在。

代码应如下所示:

 public class NeshtoSi
{
    public NeshtoSi() { }

    public string ssn{get; set;}
    public string name{get; set;}
    public string surname{get; set;}
}
于 2009-12-07T23:33:19.927 回答
0

我最近经历了这个,答案在我的一篇文章中概述了在这里

于 2009-12-08T00:52:08.243 回答