0
我有一個帶有外鍵的表。我想顯示數據作爲描述,而不是相關表的ID。從實體服務,我已經在數據模型上做出了.Include
聲明,以便它返回。以下是我已經試過,車站在細胞顯示出來,但沒有在下拉列表:Silverlight WCF數據綁定相關表
<sdk:DataGridTemplateColumn CanUserReorder="False" CanUserResize="False" CanUserSort="False" Width="Auto" Header="Station">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Station.Description}" />
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
<sdk:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Station}" />
</DataTemplate>
</sdk:DataGridTemplateColumn.CellEditingTemplate>
</sdk:DataGridTemplateColumn>
<OperationContract()>
Public Function LoadPersonnel(clientId As Integer) As List(Of Personnel)
Dim result As List(Of Personnel)
Try
result = db.Personnels.Include("Station").Where(Function(o) o.ClientId = clientId).ToList
Catch
result = Nothing
End Try
Return result
End Function
也試過:
<ComboBox ItemsSource="{Binding}" DisplayMemberPath="{Binding Station.Description}" SelectedItem="{Binding Station.Description}" SelectedValue="{Binding Station.StationId}" />
S Ince Station並不存在,除了在另一個數據源中搭載數據之外,我製作了IEnumerable(Of Station)並從服務中填充它。現在他們充滿了選擇!我現在需要獲取選定的值並將其應用於原始對象,並通過服務將其保存回數據庫。我會玩這個,看看我能想出什麼。我仍然需要弄清楚如何將selectedItem設置爲正確的值。如果你有一些這方面的內容,我很樂意聽到,否則我只是不斷堵塞... – OneFineDay
要獲得選定的值,var x =(您的itemssource對象)combobox.SelectedItem; – Sajeetharan
您會推薦哪個活動?我一直在看事件,它們與Winforms和ASPX DataGrids(或類似的)差別很大。 CellEditEnding看起來很有前途。我通常會在DataBound事件中這樣做。 – OneFineDay