2009-12-07 51 views
2

我有一个很大的问题。我尝试将我的WPF DataGrid绑定到使用内部联接创建的表。我创建了一个信息类成功转换:如何将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; 

我希望有人能帮助我...

+0

你刷新数据网格概述? – Partial 2009-12-07 23:50:20

回答

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;} 
} 
+0

非常感谢!这解决了问题! – Branimir 2009-12-07 23:58:18

+0

顺便说一句,有没有办法将这些与文本列绑定,以显示不同的(描述性)标题?我试过 Branimir 2009-12-08 00:07:02

0

我通过这个去最近,答案在我的职位是here