Combobox绑定泛型字典时提示“复杂的 DataBinding 接受 IList 或 IListSource 作为数据源”的解决方法

一般情况下我们会将 DataTable 或 DataView 绑定到 Combobox 控件上,这时候进行数据绑定是没有问题的,因为DataTable 和 DataView 都继承了 IList 接口。但是有些情况下我们需要将泛型的集合类当作数据源,这时候就会报

复杂的 DataBinding 接受 IList 或 IListSource 作为数据源

的错误。原因是这些类型没有继承上述的两个接口,所以要使用一个 BindingSource 类将数据源封装一下,BindingSource 类继承和实现了 IList 接口。

下面是我写的一个简单的例子,如果直接绑定字典,会报错:

如果将例子中的 Dictionary 对象用 BindingSource 封装则可正常执行:

时间: 2024-11-11 20:48:15

Combobox绑定泛型字典时提示“复杂的 DataBinding 接受 IList 或 IListSource 作为数据源”的解决方法的相关文章

linux下vi或vim编辑文件时提示Found a swap file by the name的原因及解决方法

在linux下用vi或vim打开test.java文件时 [[email protected] test]# vi test.java 出现了如下信息: E325: ATTENTION     Found a swap file by the name ".test.java.swp"             owned by: root   dated: Wed Dec  7 13:52:56 2011         file name: /var/tmp/Test.java  

mysql数据库导入sql文件时提示“Error Code: 1153 - Got a packet bigger than 'max_allowed_packet' bytes”解决办法

向mysql数据库中导入sql文件时,如果文件过大(几百M),会提示"Error Code: 1153 - Got a packet bigger than 'max_allowed_packet' bytes" 1.查看目前数据库配置 show VARIABLES like '%max_allowed_packet%'; 显示如下结果 +--------------------+---------+ | Variable_name      | Value   | +--------

visual studio 2015 IOS开发连接mac时提示错误couldn't connect to xxxx, please try again的一个方法

本人使用虚拟机MAC.原本使用虚拟机中的VS2015连接正常没有问题. 但是当把MAC的虚拟机文件COPY到另一个机器上,提示“couldn't connect to xxxx,  please try again”. 经过查找和升级MAC中的Xamarin.ios都不行.后面尝试添加新的MAC(在VS的连接页面左下角有一个“add mac..."),直接输入MAC的IP,竟然连接上了. 分析原因可能是自动找到的使用MAC机器名的有些问题,但不确定.仅供各位参考. visual studio 2

连接Mysql提示Can’t connect to local MySQL server through socket的解决方法

mysql,Mysqldump,Mysqladmin,php连接mysql服务常会提示下面错误: 1 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 这是由于修改mysql服务的了socket文件mysql.sock位置,而导致无法通过mysql socket文件连接到mysql服务引起的,具体解决办法如下:1.查看mysql服务的sock

启动Mysql服务提示Can’t connect to local MySQL server through socket的解决方法

启动Mysql服务常会提示下面错误: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' 这是由于修改mysql服务的了socket文件mysql.sock位置,而导致无法通过mysql socket文件连接到mysql服务引起的,具体解决办法如下: 1.查看mysql服务的socket文件位置:mysql socket文件的位置是在/etc/my.c

eclipse 中提示tomcat 的端口被占用了 后的最快捷解决方法

很多时候运行tomcat 的时候总是会提示tomcat 的端口呗占用 但是任务管理器里面还找不到是哪个端口被占用了 因此很多人就重新配置tomcat  或者去修改tomcat的端口号 ,其实这么做太麻烦了 ,小弟在这里告诉你一个非常简单的方法. 1.在开始菜单中选择运行  然后输入cmd  进入DOS界面.显示如下: 2.在Dos窗口中输入netstat   -ano|findstr  8080(注意的 我的透明cat 的断口号 是8080 你的断口号是多少就写多少) 输入完成后回车 会弹出下面

一键ghost提示“Cannot open image file'1.4 I:/~1/c_pan.gho'”解决方法

出现了这提示的话,估计你是用U盘安装,或者是曾经做过分区操作(如把H盘改为D盘) 如果你用旧版的ghost的话,估计I:/~1/c_pan.gho已经被自动删了,那么你只能下载数据恢复工具(如"易我数据恢复工具")把镜像恢复回来. 如果镜像还在的话: [失败原因]"Cannot open image file'1.4 I:/~1/c_pan.gho'"中的1.4指的是第一个硬盘的第四个分区,并不是真正的 I 盘,搜索的地方错了,自然搜不到. [解决方法] 1.进入中

itop4412编译内核时出现“recipe for target 'arch/arm/mach-exynos/cpu-exynos4.o' failed”的解决方法

依次执行如下命令 #su root 输入root用户密码 #cd #vim .bashrc 到达最底行,确保环境变量如下图所示 保存退出后,执行如下指令 #source .bashrc 重启Terminal终端(必须),再次进入内核路径进行编译,即可通过. itop4412编译内核时出现"recipe for target 'arch/arm/mach-exynos/cpu-exynos4.o' failed"的解决方法 原文地址:https://www.cnblogs.com/Unf

IE浏览器下载文件保存时提示:“你没有权限在此位置中保存文件”解决办法

E浏览器下载文件保存时提示 解决办法: 1.Win + R,打开运行命令,输入gpedit.msc,如图所示 2.打开计算机本地组策略编辑器:选择计算机配置-windows设置-安全设置-本地策略-安全选项.在右侧找到“用户账户控制:以管理员批准模式运行所有管理员”,双击打开,如图所示 3.双击打开,设置为“已禁用”,,点击“应用”,“确定”如图所示 4.重启电脑,上述问题就不会再出现. 原文地址:https://www.cnblogs.com/chenshc/p/11827826.html