使用字典键和值填充 DataGridViewComboBoxColumn

2024-04-29

我有一本字典,其键为三个字母的国家/地区代码,其值为国家/地区名称。

Dictionary<string, string> CountryList=new Dictionary<string, string>();

我还有一个 DataGridView 和一个 DataTable。我想要做的是为我的 DataTable 列中显示国家/地区信息的某些列创建一个 DataGridViewComboBoxColumn。因此,例如,我的数据表中的一列称为Country,我希望该列有一个下拉组合框,显示国家/地区名称,选择该组合框后,将使用字典中的键(三个字母代码)填充数据表中的单元格。但是,我完全不知道如何做到这一点。我是否必须将 DataSource 设置为键,将 DisplayMember 设置为值?我尝试了一下,并得到一个错误:

DataGridViewComboBoxColumn buildCountries = new DataGridViewComboBoxColumn();
buildCountries.HeaderText = "List of Countries";
buildCountries.DataSource = CountryList.Keys.ToString();
buildCountries.DisplayMember = CountryList.Values.ToString();

复杂数据绑定接受 IList 或 IListSource 作为数据源

我不知道该怎么做。


With Keys.ToString(),您正在创建一个代表 Keys 集合的 String,而不是获取键列表。这将返回:

System.Collections.Generic.Dictionary'2+KeyCollection[System.String,System.String]

DisplayMember 是数据源中每个项目的属性名称,应显示在组合框中 - 这可能应该是"Value".

尝试这个:

Dictionary<string, string> CountryList=new Dictionary<string, string>();

DataGridViewComboBoxColumn buildCountries = new DataGridViewComboBoxColumn();
buildCountries.HeaderText = "List of Countries";
buildCountries.DataSource = CountryList.ToArray();
buildCountries.ValueMember = "Key";
buildCountries.DisplayMember = "Value";

CountryList.ToArray()会给你一个数组KeyValuePair<string, string>s,它确实实现了 IList。

如果您想获取所选国家/地区代码,请使用buildCountries.SelectedValue.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用字典键和值填充 DataGridViewComboBoxColumn 的相关文章

随机推荐

  • mariadb: jdbc: setTimestamp 截断毫秒

    在我看来 如果我使用准备好的语句将它们插入到我的 mariadb 中 毫秒就会被截断 谷歌搜索并不成功 我发现了很多类似的问题 这些问题要么已解决 要么不适用 但很难相信我是唯一一个遇到这个问题的人 所以我想在向 mariadb 提交错误之
  • 分析 Cortex-M7 (stm32f7) 上的 memcpy 性能

    简洁版本 从 GNU ARM 工具链中提取的 memcpy 的性能指标在 ARM Cortex M7 上对于不同的副本大小似乎差异很大 即使复制数据的代码始终保持不变 这可能是什么原因造成的 长版 我是使用 GNU Arm 工具链 11 2
  • 重写 openshift maven 脚本 (jenkins gear)

    我在 Openshift 上有 Jenkins 实例 我已启用 Jenkins 构建我的 Openshift 应用程序 这里是 Jenkins shell 脚本的一部分并记录它们生成的内容 Sync any libraries rsync
  • 如何将文本放置在 Font Awesome 图标上?

    有没有办法垂直对齐堆叠在 Font Awesome 图标顶部的文本 我想将这个堆栈中的 1 向上移动 以便它位于奖杯图标的杯子中央 我尝试在封装 1 的范围中添加底部边距和底部填充 但都没有成功 有没有一种简单的方法可以完成我想要完成的任务
  • 循环中的 Google 地图地理编码和标记

    我在这里完全困惑了 我有一个对象列表 每个对象都包含一个位置 我使用 google maps geocoder 查找这个位置 然后在地图上为该位置放置一个标记 但由于某种原因 只出现一个标记 我想这与我在其他线程中看到的闭包问题有关 但我似
  • 如何清除 asyncfileupload 的文本框值..?

    有一个按钮 MyButton 单击此按钮时 会出现一个 modalpopup MyPopup 其中包含一个 asyncfileupload ajax 控件 确定 按钮和 取消 按钮 asyncfileupload 功能的浏览功能工作正常 没
  • 从已知视频 ID 中获取 YouTube 视频标题

    我想在视频 ID 已知时仅使用 JavaScript 获取 YouTube 视频标题 是否可以 是的 可以使用 Javascript 和 JSON https developers google com youtube 2 0 develo
  • 如何在 uiview 中添加边框?

    我有一个 uiview 我想在这个 UIVIew 旁边添加一个边框 大约占 UIView 的 75 任何人都可以帮忙解决这个问题吗 我可以找到将边界绘制到外面的解决方案 好吧 不只是可以设置一个小属性来将边框与外部对齐 它向内部对齐绘制 因
  • d3.js v4 中的 d3.locale(),本地化

    我正在使用 d3 js 制作图表 现在想将其更新到 v4 结果发现d3 locale 由于所有日期格式的翻译都采用不同的语言 因此不再起作用 我该如何解决这个问题 我正在挖掘论坛 但对于 v4 我并没有真正找到它 你必须使用d3 timeF
  • Fortran 函数:指针作为实际参数,目标作为形式

    我正在尝试破译 Fortran 代码 它将指向函数的指针作为实际参数传递 而形式参数则是目标 它在主程序中定义并分配一个 globalDATA 类型的指针 然后调用一个传递该指针的函数 module dataGLOBAL type glob
  • 使用 Jenkins 作业将 Helm 图表部署到 Kubernetes

    我想创建一个 Jenkins 作业 将 Helm Chart 部署到 Kubernetes 集群中 Helm 图表存储在 Bitbucket 存储库中 pipeline agent any stages stage Download Hel
  • 如何快速计算集合的所有交集的包含顺序

    这是后续如何在python中快速获取集合的所有交集 https stackoverflow com questions 37622153 我有一个整数有限集合 Ai 的有限集合 A A1 Ak 我想计算Python下列 A 子集的所有交集
  • Web Audio Api:如何添加工作卷积器?

    我想学习 做的事情 如何使用脉冲响应在下面的代码沙箱中设置一个简单的工作卷积器 混响 我认为这与设置过滤器类似 但事情似乎完全不同 我尝试过的 与所有新技术一样 事物变化很快 因此很难知道哪些实施是正确的 哪些实施是错误的 我查看了无数的
  • Android 中使用 Base64 编码的公钥进行 RSA 加密

    如何使用base 64编码的公钥对字节数组进行RSA加密 在阅读了几篇关于如何在 Java 中进行 RSA 加密的文章 谷歌搜索 后 发现了以下片段 public byte rsaEncrypt byte data PublicKey pu
  • RichTextFx CodeArea 中的文本背景颜色

    我正在使用 RichTextFx CodeArea 来突出显示我的代码 我想更改某些关键字的文本背景颜色并使用下面的 css parameter rtfx background color yellow But it s changes b
  • 警报和确认函数是内置于 JavaScript 中的,还是 DOM 的一部分?

    Are the alert and confirmJavaScript 中内置的函数 还是 DOM 的一部分 如果您能给我推荐一份参考资料 让我能够轻松了解 JavaScript 中直接内置了哪些函数 那就加分了 它们是通常所说的一部分DO
  • Google 地图小部件错误无法检索 com.google.android.libraries.consent 验证程序的标志快照

    当我进入带有 Google 地图小部件的页面时出现以下错误 W DynamiteModule 17290 Local module descriptor class for com google android gms googlecert
  • 如何通过反射获取当前属性名称?

    当我通过反射进入其中时 我想获取属性名称 是否可以 我有这样的代码 public CarType Car get return Wheel this Wheel set this Wheel value 因为我需要更多这样的属性 所以我想做
  • 如何通过 docker-php-ext-install 安装 php 扩展?

    为了解决问题 https stackoverflow com questions 37526509 how to install pdo driver in php docker image 我现在尝试通过安装 mysql pdo dock
  • 使用字典键和值填充 DataGridViewComboBoxColumn

    我有一本字典 其键为三个字母的国家 地区代码 其值为国家 地区名称 Dictionary