0

我有一个 vb.net 组合框,它数据绑定到 Oracle 数据库中的表。oracle 数据库填充了我的解决方案中定义的数据集。我的一个视图中有几个组合框,它们是数据绑定到单独的数据集。除了一个之外,它们都可以正常工作。其中一个按预期带回了 80 行数据,但组合框中没有文本。所以你只是在搜索 80 行什么都没有。这是代码:

    Dim dsLegalEntity As New DataSet
    Dim dsTaxCertification As New DataSet
    Dim dsStates As New DataSet
    Dim mdataviewLegalEntity As New DataView
    Dim mdataviewTaxCertification As New DataView
    Dim mdataviewStates As New DataView

    Try

        dsLegalEntity = My.WebServices.Service.GetLegalEntities()
        mdataviewLegalEntity = New DataView(dsLegalEntity.Tables("AS_LEGAL_ENTITIES"))

        dsTaxCertification = My.WebServices.Service.GetTaxCertCodes
        mdataviewTaxCertification = New DataView(dsTaxCertification.Tables("TAX_CERT_CODE"))

        dsStates = My.WebServices.Service.GetVendorStates
        mdataviewStates = New DataView(dsStates.Tables("VENDOR_STATES"))

        With comboLegalEntity
            .DataSource = mdataviewLegalEntity
            .ValueMember = "LEGAL_ENTITY"
            .DisplayMember = "LEGAL_ENTITY"
        End With

        With comboTaxCertification
            .DataSource = mdataviewTaxCertification
            .ValueMember = "TAX_CERT_CODE"
            .DisplayMember = "TAX_CERT_CODE_DESCR"
        End With

        With comboState
            .DataSource = mdataviewStates
            .ValueMember = "STATE"
            .DisplayMember = "STATE"
        End With

        comboPurchSale.SelectedIndex = 0
    Catch ex As Exception
        AppError.InsertAppError(ex.ToString(), "btnQSearch_Click", "Default.aspx", "")
    End Try

有问题的组合框是“comboState”之一。数据集表名称称为“VENDOR_STATES”,它指向的列称为“STATE”。据我所知,我的名字是对的,所以我不明白为什么这个不能正常工作,而其他的工作正常。在此先感谢您的帮助。

4

1 回答 1

1

问题已解决。事实证明,从存储过程返回的数据集列和列名必须匹配,数据才能正确通过。在我的存储过程选择语句中添加 SELECT AS STATE 后,它运行良好。

于 2013-09-09T13:56:19.913 回答