使用字典键和值填充 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 的相关文章

  • 这个 SQL 查询有什么问题?

    在过去的一个小时里 我一直在尝试此查询的不同变体 但我在用户名处收到错误 并且用户名只是一个普通字符串 其中的用户名是我从不包含特殊字符或任何内容的 xml 文件中获取的 我正在使用 SLQ 紧凑型 3 5 P S 我尝试使用 而不是 us
  • 何时使用 =default 使析构函数默认?

    尽管对构造函数使用 default 对我来说很清楚 即强制编译器在其他构造函数存在时创建默认构造函数 但我仍然无法理解这两种类型的析构函数之间的区别 那些使用 default 的 那些没有显式定义并由编译器自动生成的 我唯一想到的是 gro
  • 平滑滚动.net 表单

    您好 我正在 net 中使用表单 并且在运行时动态添加大量链接标签 我将这些链接标签添加到面板并将该面板添加到 winform 当链接标签的数量增加时 表单会显示一个自动滚动条 垂直 现在 当我使用自动滚动向下滚动时 表单在滚动时不会更新其
  • 在 Xamarin 中隐藏软键盘

    如何隐藏软键盘以便在聚焦时显示Entry在 Xamarin forms 便携式表单项目中 我假设我们必须为此编写特定于平台的渲染器 但以下内容不起作用 我创建自己的条目子类 public class MyExtendedEntry Entr
  • EF Core 通过完全替换断开集合导航属性的更新

    使用 EF Core 5 0 我有一个 SPA 页面 可以加载Group实体及其集合Employee来自 API 的实体 var groupToUpdate await context Groups Include g gt g Emplo
  • 我如何在 C# .NET(win7 手机)中使用“DataContractJsonSerializer”读入“嵌套”Json 文件?

    我有一个问题 如果我的 json 文件看起来像这样 Numbers 45387 Words 空间桶 我可以很好地阅读它 但是如果它看起来像这样 Main Numbers 45387 Words 空间桶 某事 数字 12345 单词 克兰斯基
  • 防止 boost::asio::io_context 在空轮询调用时停止

    此代码调用发布的句柄 boost asio io context ioc boost asio post ioc std cout lt lt lol lt lt std endl ioc poll 而这并没有 boost asio io
  • 类特定的新删除运算符是否必须声明为静态

    标准中是否要求类特定的 new new delete 和 delete 是静态的 我可以让它们成为非静态成员运算符吗 为什么需要它们是静态的 它们被隐式声明为静态 即使您没有键入 static
  • 与 Qt 项目的静态链接

    我有一个在 Visual Studio 2010 Professional 中构建的 Qt 项目 但是 当我运行它 在调试或发布模式下 时 它会要求一些 Qt dll 如果我提供 dll 并将它们放入 System32 中 它就可以工作 但
  • 如何在 C# 控制台应用程序中将修饰符(ctrl、alt、shift)按键捕获为单个按键?

    Console ReadKey 仅在按下 正常 键时捕获输入 然后将修饰符 如果有 附加为键信息的一部分 如何将单个修饰键注册为输入 提供了一种解决方案这个链接 https blogs msdn microsoft com toub 200
  • 时间:2019-03-17 标签:c#ThreadSafeDeepCopy

    我一直在阅读很多其他问题以及大量谷歌搜索 但我一直无法找到明确的解决方案 根据我读过的一些最佳实践 类的静态方法应该创建线程安全的 并且实例成员应该将线程安全留给消费者 我想为该类实现深度复制方法 该类本身还有其他引用类型成员 有没有什么方
  • 类的成员复制

    在学习 复制成员 概念时 书中给出了如下说法 此外 如果非静态成员是引用 const 或没有复制赋值的用户定义类型 则无法生成默认赋值 我不太明白这个声明到底想传达什么 或者说这个说法指的是哪一种场景 谢谢 该语句与编译器自动为您编写的类
  • 单例模式和 std::unique_ptr

    std unique ptr唯一地控制它指向的对象 因此不使用引用计数 单例确保利用引用计数只能创建一个对象 那么会std unique ptr与单例执行相同 单例确保只有一个实例属于一种类型 A unique ptr确保只有一个智能指针到
  • 无法在内存位置找到异常源:cudaError_enum

    我正在尝试确定 Microsoft C 异常的来源 test fft exe 中 0x770ab9bc 处的第一次机会异常 Microsoft C 异常 内存位置 0x016cf234 处的 cudaError enum 我的构建环境是 I
  • 如何通过 JsonConvert.DeserializeObject 在动态 JSON 中使用 null 条件运算符

    我正在使用 Newtonsoft 反序列化已知的 JSON 对象并从中检索一些值 如果存在 关键在于对象结构可能会不断变化 因此我使用动态来遍历结构并检索值 由于对象结构不断变化 我使用 null 条件运算符来遍历 JSON 代码看起来像这
  • ASP.NET MailMessage.BodyEncoding 和 MailMessage.SubjectEncoding 默认值

    很简单的问题 但我在 MSDN 上找不到答案 查找 ASP NET 将用于的默认值 MailMessage BodyEncoding and MailMessage SubjectEncoding 如果你不在代码中设置它们 Thanks F
  • C# 中的 strstr() 等效项

    我有两个byte 我想找到第二个的第一次出现byte 在第一个byte 或其中的一个范围 我不想使用字符串来提高效率 翻译第一个byte to a string会效率低下 基本上我相信就是这样strstr 在 C 中做 最好的方法是什么 这
  • 在 EnvDTE 中调试时捕获 VS 局部变量

    是否可以使用 EnvDTE 进行 vsix Visual Studio 扩展来捕获本地和调试窗口使用的调试数据 或者可以通过其他方法吗 我想创建一个自定义的本地窗口 我们可以修改它以根据需要显示一些较重的内容 而无需为高级用户牺牲原始的本地
  • 了解使用 Windows 本机 WPF 客户端进行 ADFS 登录

    我已经阅读了大量有关 ADFS 与 NodeJS Angular 或其他前端 Web 框架集成以及一般流程如何工作的文献 并通过 Auth0 Angular 起始代码构建了概念证明 但我不明白如何这可以与本机 WPF Windows 应用程
  • 将 char[][] 转换为 char** 会导致段错误吗?

    好吧 我的 C 有点生疏了 但我想我应该用 C 来做我的下一个 小 项目 这样我就可以对其进行抛光 并且我已经有不到 20 行的段错误了 这是我的完整代码 define ROWS 4 define COLS 4 char main map

随机推荐

  • 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