【问题标题】:How to bind WPF Datagrid to a joined table如何将 WPF Datagrid 绑定到联接表
【发布时间】:2010-12-24 05:34:35
【问题描述】:

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

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

【问题讨论】:

    标签: wpf data-binding datagrid inner-join


    【解决方案1】:

    我最近经历过这个,答案在我的帖子中概述,here

    【讨论】:

      【解决方案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;}
      }
      

      【讨论】:

      • 顺便说一句,有没有办法将这些绑定到文本列以显示不同的(描述性)标题?我试过
      猜你喜欢
      • 1970-01-01
      • 2014-08-23
      • 2014-10-23
      • 2011-06-26
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多