C#中ComboBox动态绑定赋值

 http://www.crifan.com/csharp_combobox_data_dynamic_binding/

C#中,已有一个List,想要动态的,绑定到ComboBox中。

【解决过程】

1.参考:

c# winform comboBox动态绑定数据

去试试代码:

cmbSubCategory.DataSource = generalCategoryList;
cmbSubCategory.DisplayMember = "name";
cmbSubCategory.ValueMember = "url";
结果是可以执行,但是点击combobox时,下来菜单是空的。

2.参考:

C# Binding Generic LIst<string> to Combo Box

打算去试试。

3.经过后来的折腾,找到原因了:

【已搞懂】C#中代码加了断点,但是调试时却无法执行到

4.然后此处,实际上是,之前的写法,就是正常的:

public struct categoryItem
{
public string Name { get; set; }
public string Url { get; set; }
};
List<categoryItem> generalCategoryList;

private void initSearchCategory()
{
generalCategoryList = new List<categoryItem>();

foreach (HtmlNode singleOptionNode in optionNodeList)
{
......

//store info
categoryItem singleCategoryItem = new categoryItem();
singleCategoryItem.Name = generalCategory;
singleCategoryItem.Url = singleCategoryUrl;
//add to list
generalCategoryList.Add(singleCategoryItem);
}

if (generalCategoryList.Count > 0)
{
//init search category
cmbSubCategory.DataSource = generalCategoryList;
cmbSubCategory.DisplayMember = "name";
cmbSubCategory.ValueMember = "url";
}
}
然后ComboBox中就可以看到对应的选项了:

 

【总结】

绑定的动作,其实很简单:

cmbSubCategory.DataSource = generalCategoryList;
cmbSubCategory.DisplayMember = "name";
cmbSubCategory.ValueMember = "url";
就可以了。

但是要注意:

此处,如果改为:

public struct categoryItem
{
public string name;
public string url;
};
List<categoryItem> generalCategoryList;

private void initSearchCategory()
{
generalCategoryList = new List<categoryItem>();

foreach (HtmlNode singleOptionNode in optionNodeList)
{
......

//store info
singleCategoryItem.name = generalCategory;
singleCategoryItem.url = singleCategoryUrl;
//add to list
generalCategoryList.Add(singleCategoryItem);
}

if (generalCategoryList.Count > 0)
{
//init search category
cmbSubCategory.DataSource = generalCategoryList;
cmbSubCategory.DisplayMember = "name";
cmbSubCategory.ValueMember = "url";
}
}
那么结果就错了,然后每一项,就都是对应的对象的名字了:

 

具体根本原因,暂时懒得去深究了。

转载于:https://www.cnblogs.com/Echo529/p/6382179.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255425.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【pyqt5学习】——日历控件calendarWidget设置单元格格式(前景、背景)、日历控件属性编辑

目录 0、导入库 1、返回日历选中的日期 2、更改日历控件周几&#xff08;比如一个月属于周一的日期&#xff09;的所有格子属性 3、更改日历控件单个格子&#xff08;指定日期&#xff09;属性 4、日历格子属性 5、信号——clicked() 6、成果展示 0、导入库 from PyQt5.Q…

linux内核数据结构之链表

1、前言 最近写代码需用到链表结构&#xff0c;正好公共库有关于链表的。第一眼看时&#xff0c;觉得有点新鲜&#xff0c;和我之前见到的链表结构不一样&#xff0c;只有前驱和后继指针&#xff0c;而没有数据域。后来看代码注释发现该代码来自linux内核&#xff0c;在linux源…

为什么使用 XML

为什么使用 XML&#xff1f; Web 使我们能够与任何地方的任何人通讯。广泛接受的标准&#xff08;这对完全使用 Web 的潜力是至关重要的&#xff09;允许 Web 在多种交互操作的技术层上通讯。一个重要层是可视化显示和用户界面&#xff0c;例如 HTML、GIF 和 JScript(TM) 之类的…

bzoj1084: [SCOI2005]最大子矩阵

dp。转移方程在代码里。。转载于:https://www.cnblogs.com/invoid/p/5451202.html

ci事务

参考链接:http://www.tuicool.com/articles/jqeuU3转载于:https://www.cnblogs.com/norm/p/6382396.html

【bug修复】you must feed a value for placeholder tensor ‘Placeholder‘ with dtype float解决方案

最近碰到了这个you must feed a value for placeholder tensor Placeholder with dtype float and shape的问题&#xff0c;字面意思很好理解&#xff0c;就是没有给Placeholder赋值&#xff0c;可是我明明赋值了&#xff0c;百度了许多&#xff0c;也都是让我检查是否赋值以及…

动态代理3之代理工厂实现

动态代理的深化&#xff1a;承接动态代理2( 对 上级实例进行 深化)&#xff0c;也就是 spring 的前身 &#xff08;必须掌握&#xff09;实例&#xff1a; 文件说明&#xff1a;1.有一个Waiter接口&#xff0c;该接口有一个 server() 、ShouQian()方法 2.有一个 Waiter接口的实…

一个简单的XML文档例子

一个简单的XML文档例子: <?xml version"1.0"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Dont forget me this weekend!</body> </note> 文档的第一…

python set

python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算. sets 支持 x in set, len(set),和 for x in set。作为一个无序的集…

【bug修复】解决ValueError: Tensor(“Variable:0“ dtype=float32_ref) must be from the same graph as Tensor(“R

bug:描述 在进行tensorflow进行搭建CNN网络时&#xff0c;在定义CNN的py文件中调用cnn模型&#xff0c;运行正常&#xff0c;但是在其他py文件中进行时就出现问题 ValueError: Tensor(“Variable:0” dtypefloat32_ref) must be from the same graph as Tensor(“Reshape:0”,…

XML —— DTD介绍

一、DTD介绍 Document Type Definition&#xff1b; DTD是一种XML的约束方式&#xff0c;除了此种约束方式外&#xff0c;还有XSchema&#xff0c;XSchema比DTD的约束能力还要强&#xff0c;因此DTD正在逐渐淘汰&#xff1b; DTD的目的就是约束XML标签的写法&#xff1b;比如在…

error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

更新的软件可以解决 TortoiseGit-preview-2.5.7.0-20180127-b2d00f8-64bit.msi和Git-2.16.2-64-bit.exe。 链接地址为&#xff1a; https://github.com/git-for-windows/git/releases/download/v2.16.2.windows.1/Git-2.16.2-64-bit.exe https://download.tortoisegit.org/tgi…

Linux 图片传输功能c/c++(初版)

由于深度学习任务的需要&#xff0c;要在程序里面嵌入一个module。 这个module 的功能是接收来自ios客户端的图片。并且传送给深度学习分类器进行处理。 于是看了看各种各样的 module 实现方案。 先是用IO函数把图片以数组的方式存起来。 再和服务器建立连接&#xff0c;socket…

Val编程-val系列编程思想

利用Val语言可以编写出各种各样的应用程序。正如windows phone面临的窘境一样&#xff0c;受众太小&#xff0c;市场不大。应用程序不多&#xff0c;所以也谈不上成熟。国内的应用程序基本上就是简单的小程序&#xff0c;谈不上什么编程思想。国外许多都是基于kernel的而衍生出…

Celery的实践指南

Celery的实践指南celery原理&#xff1a;celery实际上是实现了一个典型的生产者-消费者模型的消息处理/任务调度统&#xff0c;消费者(worker)和生产者(client)都可以有任意个&#xff0c;他们通过消息系统&#xff08;broker&#xff09;来通信。典型的场景为&#xff1a;客户…

【pyqt5学习】——bug修复,利用qt资源库qrc文件进行背景图像设置,不显示图像

目录 bug描述 bug分析 bug解决 bug描述 利用下面文章的方法进行资源设置后&#xff0c;有的显示了有的没有显示 【pyqt5学习】——pyqt5中.qrc资源文件的创建与编写_有情怀的机械男的博客-CSDN博客_python qrc目录一、说明二、安装pyqt5以及相关工具&#xff08;pyqt5、pyuic…

Datalore:用于机器学习可视化的新Web方案!

前不久&#xff0c;JetBrains团队发布了Datalore&#xff0c;这是一款基于云的web应用程序&#xff0c;用于构建机器学习模型并在Python中创建丰富的可视化。最新的测试版本旨在简化构建机器学习模型的流程&#xff0c;并帮助开发人员进行数据分析。由于Datalore的智能编码辅助…

Val3语言介绍

Val3语言是一门专门针对特定工业机器人的一门语言。在墙内有关这方面的介绍非常的少。在墙外维基百科上有一篇详细介绍的,有空FQ摘抄在这里。 Val3是使用XML格式。可以使用XML编辑器来进行编写VAL3的程序&#xff0c;可直接在模拟器上或者示教盒上编程&#xff0c;一般推荐使用…

网络层相关问题

1.说一下网络层的总体结构。 2.有没有看过源码&#xff1f; A.继承Request   B.打日志   C.修改参数 3.说一下Volley整体结构。 4.有了解过OkHttp吗&#xff1f; 5.说一下OkHttp和Volley的区别&#xff1f;转载于:https://www.cnblogs.com/jarvisyin/p/6389553.html

CSS魔法堂:重拾Border之——图片作边框

前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊&#xff0c;一想到终于不用再添加额外元素来模拟圆角了&#xff0c;但发现border-radius还分水平半径和垂直半径&#xff0c;然后又发现border-top-left/right-radius的水平半径之和大于元素宽度时&#xff0c;实际值会…