将ADO.NET实体框架结果绑定到Silverlight Datagrid
我在我的ASP.NET网站上有我的数据模型,我试图做的是检索tbl_公司的记录,并将这些记录绑定到silverlight中的datagrid—非常简单 我设置了数据库,以便tbl_公司有一个外键(company_scope_id),该外键链接到tbl_company_scope。从tbl_company_scope我基本上想显示“scope”列。我在silverlight中的代码如下:将ADO.NET实体框架结果绑定到Silverlight Datagrid,silverlight,entity-framework,Silverlight,Entity Framework,我在我的ASP.NET网站上有我的数据模型,我试图做的是检索tbl_公司的记录,并将这些记录绑定到silverlight中的datagrid—非常简单 我设置了数据库,以便tbl_公司有一个外键(company_scope_id),该外键链接到tbl_company_scope。从tbl_company_scope我基本上想显示“scope”列。我在silverlight中的代码如下: <data:DataGrid x:Name="dgCompanies" Grid.Row="0"
<data:DataGrid x:Name="dgCompanies" Grid.Row="0" AutoGenerateColumns="False">
<data:DataGrid.Columns>
<data:DataGridTemplateColumn>
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding name, Mode=TwoWay}"></TextBlock>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
<data:DataGridTemplateColumn>
<data:DataGridTemplateColumn.CellTemplate >
<DataTemplate>
<TextBlock Text="{Binding CompanyScope.scope}"></TextBlock>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
</data:DataGrid.Columns>
</data:DataGrid>
(所有的命名等都是正确的,但在绑定到datagrids ItemSource时基本上不会显示“范围”)
有人知道如何在datagrid中显示scope列吗
干杯我在DataGrid中对“点”绑定进行了快速测试,测试结果与预期相符。我基本上使用了您的Xaml并连接了一些POCO数据类。代码如下:
<data:DataGrid x:Name="dgCompanies" Grid.Row="0" AutoGenerateColumns="False">
<data:DataGrid.Columns>
<data:DataGridTemplateColumn>
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name, Mode=TwoWay}"></TextBlock>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
<data:DataGridTemplateColumn>
<data:DataGridTemplateColumn.CellTemplate >
<DataTemplate>
<TextBlock Text="{Binding CompanyScope.Scope}"></TextBlock>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
</data:DataGrid.Columns>
</data:DataGrid>
最后,构造函数后面的代码:
ObservableCollection<Company> companies = new ObservableCollection<Company>
{
new Company { Name="Company One", CompanyScope=new CompanyScope { Scope="Some Scope" }},
new Company { Name="Company Two", CompanyScope=new CompanyScope { Scope="Some Other Scope" }},
new Company { Name="Company Three", CompanyScope=new CompanyScope { Scope="More Scope" }}
};
dgCompanies.ItemsSource = companies;
ObservableCollection公司=新的ObservableCollection
{
新公司{Name=“Company One”,CompanyScope=new CompanyScope{Scope=“Some Scope”},
新公司{Name=“Company Two”,CompanyScope=new CompanyScope{Scope=“Some Other Scope”},
新公司{Name=“Company Three”,CompanyScope=new CompanyScope{Scope=“More Scope”}
};
dgCompanys.ItemsSource=公司;
我得到了网格中两列的预期结果,一列显示公司名称,另一列显示其范围。你确定你的作用域对象也被加载了吗?也许你加载了公司,但没有加载他们的作用域。我在DataGrid中快速测试了“点”绑定,它按预期工作。我基本上使用了您的Xaml并连接了一些POCO数据类。代码如下:
<data:DataGrid x:Name="dgCompanies" Grid.Row="0" AutoGenerateColumns="False">
<data:DataGrid.Columns>
<data:DataGridTemplateColumn>
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name, Mode=TwoWay}"></TextBlock>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
<data:DataGridTemplateColumn>
<data:DataGridTemplateColumn.CellTemplate >
<DataTemplate>
<TextBlock Text="{Binding CompanyScope.Scope}"></TextBlock>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
</data:DataGrid.Columns>
</data:DataGrid>
最后,构造函数后面的代码:
ObservableCollection<Company> companies = new ObservableCollection<Company>
{
new Company { Name="Company One", CompanyScope=new CompanyScope { Scope="Some Scope" }},
new Company { Name="Company Two", CompanyScope=new CompanyScope { Scope="Some Other Scope" }},
new Company { Name="Company Three", CompanyScope=new CompanyScope { Scope="More Scope" }}
};
dgCompanies.ItemsSource = companies;
ObservableCollection公司=新的ObservableCollection
{
新公司{Name=“Company One”,CompanyScope=new CompanyScope{Scope=“Some Scope”},
新公司{Name=“Company Two”,CompanyScope=new CompanyScope{Scope=“Some Other Scope”},
新公司{Name=“Company Three”,CompanyScope=new CompanyScope{Scope=“More Scope”}
};
dgCompanys.ItemsSource=公司;
我得到了网格中两列的预期结果,一列显示公司名称,另一列显示其范围。你确定你的作用域对象也被加载了吗?也许你加载了公司,但没有加载他们的作用域。我刚刚测试了你的代码,你是对的,它应该像你说的那样工作,谢谢你的回复,我想我需要去了解更多关于ADO.NET EF的信息
再次干杯。我刚刚测试了你的代码,你是对的,它应该像你说的那样工作,谢谢你的回复,我想我需要去了解更多关于ADO.NET EF的信息 再次干杯