1

TextBlockバインディングを持つ ListBox の Web サービスを介して情報を表示しようとしています。この問題をオンラインで調査しましたが、この問題を解決できないようです。データベース テーブルには適切なデータが保持されています。最後に、まったく同じ関数/メソッドを提供し、適切なデータを表示するページを取得しました。私はこの問題に本当に悩まされており、あなたの誰かが助けてくれることを望んでいました!

ListBox のスクリーンショットをアップロードできませんが、ここで説明できるように最善を尽くします。

注文書(タイトル)

注文書番号: 1 (ListItem) ステータス: 承認済み (ListItem)

-----最初の行が表示された後に破損したデータが表示されます-----

注文書番号: 0

注文書番号: 0

- - 終わり - -

最初の行には正しいデータが表示されますが、他の行はすべて破損していることに注意してください。ただし、検索機能を実装すると、データベースから既存のデータを適切に表示できます。(破損していません)。

PurchaseOrder.aspx:

<controls:PivotItem Header="Purchase Order" FontSize="18">
            <ScrollViewer VerticalScrollBarVisibility="Visible">
                <ListBox x:Name="ListBoxPurchaseOrder" Margin="20,42,38,0" d:LayoutOverrides="VerticalAlignment">
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Vertical">
                                <TextBlock Text="{Binding purchaseOrderID, StringFormat='Purchase Order No: \{0\}'}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="38" />
                                <TextBlock Text="{Binding status, StringFormat='Status: \{0\}'}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
            </ScrollViewer>
        </controls:PivotItem>

PurchaseOrder.aspx.cs:

public PO()
{
    load();
    InitializeComponent();
}

bool success = false;

Session.PurchaseOrder session = new Session.PurchaseOrder();

private void load()
{
    InitializeComponent();
    IfsRetailerClient myClient = new IfsRetailerClient();
    myClient.getPurchaseOrder1Completed += new EventHandler<getPurchaseOrder1CompletedEventArgs>(myClient_getPurchaseOrder1Completed);
    myClient.getPurchaseOrder1Async();
}

void myClient_getPurchaseOrder1Completed(object sender, getPurchaseOrder1CompletedEventArgs e)
{
    ListBoxPurchaseOrder.ItemsSource = e.Result;
}

Web サービス ファイル、IfsRetailer.cs:

[OperationContract]
List<Payment> getPayment();

fsRetailer.cs:

DatabaseEntities db = new DatabaseEntities();
public List<Payment> getPayment()
{
    return db.Payments.ToList();
}
4

0 に答える 0