C# 数据网格与LINQ结果绑定?WPF

C# 数据网格与LINQ结果绑定?WPF,c#,wpf,linq,datagrid,C#,Wpf,Linq,Datagrid,我正在尝试将示例WPF应用程序中的datagridview(无代码隐藏=)与我的LINQ结果绑定。这一定很容易,但不知为什么,我在某个地方错过了它。您必须考虑以下几点:首先,我使用的是ORACLE db,并且我已经成功地进行了映射,我得到了以下结果: this.SearchCommand = new RelayCommand(this.DisplayMessage, CanDisplayMessage); } public bool CanDisplayMessag

我正在尝试将示例WPF应用程序中的datagridview(无代码隐藏=)与我的LINQ结果绑定。这一定很容易,但不知为什么,我在某个地方错过了它。您必须考虑以下几点:首先,我使用的是ORACLE db,并且我已经成功地进行了映射,我得到了以下结果:

     this.SearchCommand = new RelayCommand(this.DisplayMessage, CanDisplayMessage);
    }


    public bool CanDisplayMessage()
    {
        return true;
    }

    public void DisplayMessage()
    {
       using ( Entities ctx = new Entities())
        {
            var query = from e in ctx.EMPLOYEES select new { e.EMPLOYEE_ID,e.FIRST_NAME,
                         e.LAST_NAME, e.EMAIL, e.PHONE_NUMBER,
                         e.SALARY, e.DEPARTMENT_ID};

         var results = query.ToList();
        }
    }

我知道我必须用Itemssource绑定我的Datagrid,就像我一直做的那样。我使用ObservableCollection将来自DataReader(使用普通Sql命令…)的结果与DataGrid绑定。现在,我的XAML如下所示:

   <DataGrid Grid.Row="1" Grid.ColumnSpan="3" ItemsSource="{Binding}" >
        <DataGrid.Columns>
        <DataGridTextColumn Header="Employee ID"    Binding="{Binding Path= EMPLOYEE_ID}"/> 
        <DataGridTextColumn Header="First Name"     Binding="{Binding Path= FIRST_NAME}"/>
        <DataGridTextColumn Header="Last Name"      Binding="{Binding Path= LAST_NUMBER}"  />
        <DataGridTextColumn Header="Email"          Binding="{Binding Path= EMAIL}"  />
        <DataGridTextColumn Header="Phone number"   Binding="{Binding Path= PHONE_NUMBER}"/>
        <DataGridTextColumn Header="Salary"         Binding="{Binding Path= SALARY}"  />
        <DataGridTextColumn Header="Department ID"  Binding="{Binding Path= DEPARTMENT_ID}"  />
        </DataGrid.Columns>
    </DataGrid>
用我的数据网格,但什么都没有回来!我已尝试使用此结果绑定可观察集合,但出现错误。我错过了什么?我必须在我的DataGrid的ItemsSource上写些什么才能将结果绑定到DataGrid


提前谢谢

在哪里填充gridview? 也许这工作

public void DisplayMessage()
{
   using ( Entities ctx = new Entities())
    {
        var query = from e in ctx.EMPLOYEES select new {  e.EMPLOYEE_ID,e.FIRST_NAME,
                     e.LAST_NAME, e.EMAIL, e.PHONE_NUMBER,
                     e.SALARY, e.DEPARTMENT_ID};

     var results = query.ToList();
     gridview.DataSource = results;
     gridview.Databind();
    }
}
你必须在这里设置一个id

<DataGrid Grid.Row="1" Grid.ColumnSpan="3" ID="gridview" ItemsSource="{Binding}" >

在哪里填充gridview? 也许这工作

public void DisplayMessage()
{
   using ( Entities ctx = new Entities())
    {
        var query = from e in ctx.EMPLOYEES select new {  e.EMPLOYEE_ID,e.FIRST_NAME,
                     e.LAST_NAME, e.EMAIL, e.PHONE_NUMBER,
                     e.SALARY, e.DEPARTMENT_ID};

     var results = query.ToList();
     gridview.DataSource = results;
     gridview.Databind();
    }
}
你必须在这里设置一个id

<DataGrid Grid.Row="1" Grid.ColumnSpan="3" ID="gridview" ItemsSource="{Binding}" >

在哪里填充gridview? 也许这工作

public void DisplayMessage()
{
   using ( Entities ctx = new Entities())
    {
        var query = from e in ctx.EMPLOYEES select new {  e.EMPLOYEE_ID,e.FIRST_NAME,
                     e.LAST_NAME, e.EMAIL, e.PHONE_NUMBER,
                     e.SALARY, e.DEPARTMENT_ID};

     var results = query.ToList();
     gridview.DataSource = results;
     gridview.Databind();
    }
}
你必须在这里设置一个id

<DataGrid Grid.Row="1" Grid.ColumnSpan="3" ID="gridview" ItemsSource="{Binding}" >

在哪里填充gridview? 也许这工作

public void DisplayMessage()
{
   using ( Entities ctx = new Entities())
    {
        var query = from e in ctx.EMPLOYEES select new {  e.EMPLOYEE_ID,e.FIRST_NAME,
                     e.LAST_NAME, e.EMAIL, e.PHONE_NUMBER,
                     e.SALARY, e.DEPARTMENT_ID};

     var results = query.ToList();
     gridview.DataSource = results;
     gridview.Databind();
    }
}
你必须在这里设置一个id

<DataGrid Grid.Row="1" Grid.ColumnSpan="3" ID="gridview" ItemsSource="{Binding}" >


要绑定的项应该像itemsource的公共属性一样呈现


要绑定的项应该像itemsource的公共属性一样呈现


要绑定的项应该像itemsource的公共属性一样呈现




要绑定的项应该像itemsource的公共属性一样显示

您遇到了什么错误?请发布您的实际代码,
DisplayMessage()
在这里做了一些事情,但没有任何用处,结果保存到局部变量
results
。那么它怎么能在外面使用呢?为什么是xaml的jpg?发布xaml。这是我的问题如何使用结果将其与我的datagrid绑定,DisplayMessage()是我用于命令的方法,如果按Search,则此方法将执行LINQ语句show I can show on我的datagrid我的结果,在msdn.microsoft.com上查找.net wpf绑定。您遇到了什么错误?请发布您的实际代码,
DisplayMessage()
在此处执行了一些操作,但没有任何用处,结果将保存到局部变量
results
,无需进一步使用。那么它怎么能在外面使用呢?为什么是xaml的jpg?发布xaml。这是我的问题如何使用结果将其与我的datagrid绑定,DisplayMessage()是我用于命令的方法,如果按Search,则此方法将执行LINQ语句show I can show on我的datagrid我的结果,在msdn.microsoft.com上查找.net wpf绑定。您遇到了什么错误?请发布您的实际代码,
DisplayMessage()
在此处执行了一些操作,但没有任何用处,结果将保存到局部变量
results
,无需进一步使用。那么它怎么能在外面使用呢?为什么是xaml的jpg?发布xaml。这是我的问题如何使用结果将其与我的datagrid绑定,DisplayMessage()是我用于命令的方法,如果按Search,则此方法将执行LINQ语句show I can show on我的datagrid我的结果,在msdn.microsoft.com上查找.net wpf绑定。您遇到了什么错误?请发布您的实际代码,
DisplayMessage()
在此处执行了一些操作,但没有任何用处,结果将保存到局部变量
results
,无需进一步使用。那么它怎么能在外面使用呢?为什么是xaml的jpg?发布xaml。这是我的问题如何使用结果将其与我的datagrid绑定,DisplayMessage()是我用于命令的方法,如果按Search,则此方法将执行LINQ语句show I can show I can show on my datagrid my results,在msdn.microsoft.com上查找.net wpf binding。