2

我在 Silverlight 应用程序中检索项目计数时遇到问题,要使用来自 sql 的项目填充组合框,我使用以下代码:

  objctx = New BanksDomain
        Dim itemType = NameComboBox.SelectedItem.[GetType]()
        Dim pi = itemType.GetProperty(NameComboBox.DisplayMemberPath)
        Dim cbi = pi.GetValue(NameComboBox.SelectedItem, Nothing).ToString()
        Dim BankName As String = cbi

        Dim query As EntityQuery(Of Branches) = objctx.GetBranchesByBankQuery(BankName)
        query.IncludeTotalCount = True
        Dim loadOp As LoadOperation(Of Branches) = Me.objctx.Load(query)

        Branch_NameComboBox.ItemsSource = loadOp.Entities

我尝试从组合框项目计数中获取计数但无济于事,我尝试通过 textbox.text = loadop.entities.count 加载它,但它显示“0”

我不知道出了什么问题,我似乎无法做到,虽然它应该很简单,有人可以帮帮我吗

4

2 回答 2

2

不要忘记调用 RIA 服务是异步的。因此 load 函数返回一个异步结果。

Dim loadOp As LoadOperation(Of Branches) = Me.objctx.Load(query)
Branch_NameComboBox.ItemsSource = loadOp.Entities

然后,如果你在 load 调用后检查你的 itemsSource.count(),它仍然是 0。但是如果你等待异步结果(可能在 load 函数的回调中处理它),你会看到真正的结果请求的值,如果您的请求正确,则不应为 0。

于 2013-02-11T08:50:05.483 回答
1

非常感谢哥们,你救了我的命,现在我可以得到计数,如果有一天有人需要,这里是代码:

Dim query As EntityQuery(Of Branches) = objctx.GetBranchesByBankQuery(BankName)
            query.IncludeTotalCount = True
            Dim loadOp As LoadOperation(Of Branches) = Me.objctx.Load(query, New Action(Of LoadOperation(Of Branches))(AddressOf GetBranchesCompleted), True)

Then

Private Sub GetBranchesCompleted(args As LoadOperation(Of Branches))

        Branch_NameComboBox.ItemsSource = args.Entities
        NoOfBTextBlock.Text = args.Entities.Count.ToString


    End Sub

再次感谢...

于 2013-02-12T22:13:53.587 回答