gpt4 book ai didi

c# - 帮助用数据库数据XAML修改datagrid

转载 作者:太空宇宙 更新时间:2023-11-03 14:19:22 26 4
gpt4 key购买 nike

我有以下 XAML 代码:

    <sdk:DataGrid AutoGenerateColumns="False" Height="200" HorizontalAlignment="Left" ItemsSource="{Binding ElementName=ticketDomainDataSource, Path=Data}" Margin="8,43,0,0" Name="ticketDataGrid" RowDetailsVisibilityMode="VisibleWhenSelected" VerticalAlignment="Top" Width="795">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn x:Name="ticketNameColumn" Binding="{Binding Path=ticketName}" Header="Ticket Name" Width="SizeToHeader" />
<sdk:DataGridTextColumn x:Name="ticketDescColumn" Binding="{Binding Path=ticketDesc}" Header="Ticket Desc" Width="SizeToHeader" />
<sdk:DataGridTextColumn x:Name="ticketNumberColumn" Binding="{Binding Path=ticketNumber}" Header="Ticket Number" Width="SizeToHeader" />
<sdk:DataGridTextColumn x:Name="ticketTypeIdColumn" Binding="{Binding Path=ticketTypeId}" Header="Ticket Type Id" Width="SizeToHeader" />
<sdk:DataGridTextColumn x:Name="seatIdColumn" Binding="{Binding Path=seatId}" Header="Seat Id" Width="SizeToHeader" />
<sdk:DataGridTextColumn x:Name="showIdColumn" Binding="{Binding Path=showId}" Header="Show Id" Width="SizeToHeader" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>

该代码具有某些 header ,如 seatId 和 showId,我希望它们显示座位和节目的实际名称,但我将如何查询它,我在我的 Silverlight 应用程序中使用域服务和上下文。

如果您需要更多信息,请告诉我。

谢谢。

编辑:用于绑定(bind)的查询:

EntityQuery<Web.Ticket> query =
from t in _ticketContext.GetTicketsQuery()
where t.bookingId == data.bookingId
select t;
LoadOperation<Web.Ticket> loadOp = _ticketContext.Load(query);
tk.ticketDataGrid.ItemsSource = loadOp.Entities;

编辑:数据模型:

enter image description here

编辑:来自域服务的查询代码:

    public IQueryable<Ticket> GetTickets()
{
return this.ObjectContext.Tickets.Include("Seat");
}

最佳答案

给你一个完整的答案...

这是一个 link在描述导航属性的 SO 上

如果您有一个带有 SeatID 的 Tickets 实体(在数据库中,一个外键),您可以创建一个 Navigation 属性,将 Tickets 实体连接到 Seats 实体。在 SQL 术语中,这类似于编写如下内容:

选择 Ticket.Name, Seats.SeatName JOIN Seats ON Ticket.SeatID = Seats.SeatID

在你的情况下,你会使用类似的东西:

EntityQuery<Web.Ticket> query =
from t in _ticketContext.GetTicketsQuery().Include("Seats")
where t.bookingId == data.bookingId
select t;
LoadOperation<Web.Ticket> loadOp = _ticketContext.Load(query);
tk.ticketDataGrid.ItemsSource = loadOp.Entities;

编辑:在您的 Tickets 对象的元数据中,您应该看到类似的内容

public Seat Seats { get; set; }

添加这个:

[Include]
public Seat Seats { get; set; }

关于c# - 帮助用数据库数据XAML修改datagrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5851922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com