将 DataTable 分配给 ComboBox,然后进行更改

2023-12-01

VB2010 我手动创建了一个数据表,因此它不是来自数据库。我已将其分配给组合框,它显示我的数据列。如果我更改数据表,是否必须重新建立链接?

'assign first table
dt = GetFirstTable()
cbo.DataSource = dt
cbo.DisplayMember = "Time"
cbo.ValueMember = "Time"

'print out items in combobox

'assign second table
dt = GetSecondTable()
'cbo.DataSource = dt 'do i have to re-connect here?

'print out items in combobox

看来如果我不重新建立链接,我会得到相同的项目。我虽然因为 cbo 已经链接到 dt 变量,所以我不需要每次都重新链接它。是这样的还是我在这里做错了什么?


当你分配时cbo.DataSource = dt,然后你重新创建dt, cbo.DataSource将继续指向旧表。这是这里工作的纯指针逻辑,相同的原理适用于所有 .NET 代码。这并不意味着您重复使用同一变量。你可以改为创建dt2并使用它,行为会是相同的。所以是的,如果你重新创建DataTable,你需要重新分配DataSource再次。但是如果你改变原来的dt,即添加行,这些行将会出现,因此您不需要重新分配DataSource。这是一个代码示例,用于说明该方法:

Dim _dt As DataTable

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  _dt = New DataTable
  With _dt.Columns
    .Add("key")
    .Add("value")
  End With
  With ComboBox1
    .DisplayMember = "value"
    .ValueMember = "key"
    .DataSource = _dt
  End With
End Sub

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
  _dt.Rows.Add({"item_key", "item_value"})
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 DataTable 分配给 ComboBox,然后进行更改 的相关文章

随机推荐

  • ASP.NET 中内联标记的全球化差异

    使用内联写入标签而不是资源标签有什么优点 缺点吗 例子 在任何 MSDN 示例中都可以看到资源标签 表达式标签
  • 为什么 margin:auto 不足以使位置绝对或固定居中?

    我试图将 div 的内容居中 我的父容器设置为 相对 我在内部 div 上使用它 position absolute margin auto width 70px height 70px 但它拒绝居中 我不得不添加左侧和右侧的0 但我不明白
  • 查找具有所有关联记录的记录

    Say 我们有 个人 和 最喜欢的 模型 最喜欢的 是这个人喜欢的东西 音乐 视频 运动 互联网 旅行 等 人物 HABTM 收藏夹 和 收藏夹 HABTM 人物 我需要找到一个人 它列出了所有 最爱 例如 找到一个人 喜欢 音乐 旅行 和
  • 为什么 Python 集合不可散列?

    我偶然发现一篇博客文章 详细介绍了如何在 Python 中实现幂集函数 所以我开始尝试自己的方法 发现Python显然不能有一组集合 因为集合不可散列 这很令人厌烦 因为幂集的定义是它是一组集合 而我想使用实际的集合运算来实现它 gt gt
  • 系数表在秩缺陷拟合中没有 NA 行;如何插入它们?

    library lmPerm x lt lmp formula a b c d e data df perm Prob summary x truncated output I can see NA rows here Coefficien
  • Django 模板语法错误

    下面的代码语法有问题吗 有错误Invalid block tag else ifequal chat profile 1 extends chatprofile chat profile1 html else extends chatpro
  • 在 MVC5 中以部分视图提交表单时模型为空

    我只是想学习 MVC 并面临一些问题 当我提交我的部分视图时 我在模型中得到 nullBlog在创建方法内 我做错了什么以及正确的方法是什么 查看 索引 cshtml model IEnumerable
  • 如何在 C 中用另一个字符串替换一段 const char* ?

    假设您有一个类似的链接http 1 1 1 1 test mpg 然后你想把它改成http 1 1 1 1 test mkv 如何在 C 中以编程方式将 mpg 更改为 mkv 我尝试使用 strtok 和 strcpy 但我不太擅长 C
  • 在Python中将字符串拆分为列表

    我有一长串字符 我想将其拆分为单个字符的列表 我也想将空格包含在列表中 我该怎么做呢 你可以做 list foo 空格将被视为列表成员 虽然没有分组在一起 但您没有指定您需要它 gt gt gt list foo f o o gt gt g
  • java.lang.NoSuchMethodError: javax.faces.component.UIComponent.getPassThroughAttributes(Z)Ljava/util/Map;迁移到 JSF 2.2 后

    迁移到 JSF 2 2 后 我收到以下异常 具体来说 我将 Mojarra 2 1 17 升级到 Mojarra 2 2 8 java lang NoSuchMethodError javax faces component UICompo
  • 验证规则未使用 2 个验证规则正确更新

    我浏览了一些有关验证规则的帖子 但没有遇到我遇到的问题 我正在 WPF 窗口中的文本框使用验证规则 我有两项检查 一项针对空文本框 另一项针对使用正则表达式匹配的无效字符 我的问题是这样的 在我的文本框中 A 型 可以工作 不显示任何内容
  • 如何检查字符串是否是数字?

    我想用这段代码检查一个字符串是否是一个数字 我必须检查字符串中的所有字符是否都是整数 但 while 返回总是 isDigit 1 我不知道为什么 if 不起作用 char tmp 16 scanf s tmp int isDigit 0
  • mysqli 自动递增生成的主 ID

    insert INSERT INTO event tracker table event name event location location number event creator username event creator em
  • parLapply 从内部函数将数据意外复制到节点

    我有一个很大的列表 30GB 其功能如下 cl lt makeCluster 24 outfile Foo1 lt function cl largeList return parLapply cl largeList Bar Bar1 l
  • PHP parse_ini_file 对 URL 起作用吗?

    PHP方法有吗解析ini文件处理托管在云中的 INI 文件 现在 我的每一个应用程序服务器中都有一个配置文件 在任何给定时间可能有 4 8 个 手动对每台服务器进行配置更改是非常痛苦的 我已尝试以下方法但无济于事 handle fopen
  • 使用Python识别ETF持有量

    我想创建一个网络爬虫来收集 ETF 的具体持有量 我发现 Zacks com 创建了一个很好的列表 列出了我正在寻找的内容 我正在尝试使用 BeautifulSoup 但是我很难精确定位 符号 列中的数据 我需要更改或添加什么才能将所有符号
  • 在JavaFX中显示pdf [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 开发桌面应用程序JavaFX这需要显示pdf 我读到不支持 pdf 查看 显示JavaFX 当前版本 我读到JPedal too 现在 问题 是否有
  • c 读取非 ASCII 字符

    我正在解析一个包含以下字符的文件 如果我们假设我已经存储了文本文件的一行 如下所示 define MAXLINESIZE 1024 char buffer malloc MAXLINESIZE fgets buffer MAXLINESIZ
  • C++:char test[100] vs array vs string

    如果我有一个长度恒定的字符串 我应该使用什么 char test 100 std array
  • 将 DataTable 分配给 ComboBox,然后进行更改

    VB2010 我手动创建了一个数据表 因此它不是来自数据库 我已将其分配给组合框 它显示我的数据列 如果我更改数据表 是否必须重新建立链接 assign first table dt GetFirstTable cbo DataSource