2

大きな問題があります。DataGrid内部結合で作成されたテーブルにWPF をバインドしようとしています。情報を正常に変換するためのクラスを作成しました。

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を表示する必要があります。

もう1つ、WinFormsのDataGridViewについて話しているのでしょうか、それともWPFToolkitに付属しているものについて話しているのでしょうか。

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

ごめん。私はそもそもそれを見逃しました-あなたはあなたのクラスにプロパティを持っていません!プロパティの代わりにパブリックフィールドを作成しましたが、これがおそらく問題です。

コードは次のようになります。

 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 に答える