首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Control.Bindings.Add问题,异常告诉我程序不能绑定到不存在的列(但它确实存在)

Control.Bindings.Add问题,异常告诉我程序不能绑定到不存在的列(但它确实存在)
EN

Stack Overflow用户
提问于 2010-09-18 21:14:35
回答 1查看 274关注 0票数 0

当我尝试使用下面这行代码时:

代码语言:javascript
运行
复制
cboSite.DataBindings.Add("Text", _dtSite.Select("Site <> 'ALL'"), "Site")

我得到了以下异常:

异常:无法绑定到DataSource上的属性或列站点。{10}参数名称: dataMember

详细信息我连接到Access数据库,使用.net 3.5并用VB编写代码。在这个数据库中,我有一个名为Sites的表,其中有一个名为Site的列,当我尝试使用上面的代码行时,我得到了异常提示。我的印象是我可以显式地命名需要在我的控件(组合框)中使用的列。我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-20 23:30:14

这是因为.Select()语句产生的结果会产生一个DataRows集合的输出,而您需要的是绑定到一个经过过滤的DataTable源。您可以做的是首先筛选行,将筛选的行放入原始DataTable的克隆中,然后绑定到筛选的DataTable。此代码示例如下:

代码语言:javascript
运行
复制
    'Begin by returning an array of DataRows that have been filtered
    Dim filterdRows() As DataRow = _dtSite.Select("Site <> 'ALL'")

    'Clone the original DataTable which will give us an empty one
    'with an identical structure.
    Dim _dtFiltered As DataTable = _dtSite.Clone
    For Each drFiltered As DataRow In filterdRows
        'Import the rwo into the filtered table
        _dtFiltered.ImportRow(drFiltered)
    Next

    'Bind the ComboBox to the filtered DataTable
    cboSite.DataBindings.Add("Text", _dtFiltered, "Site")

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3741820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档