comboBox的id返回System.Data.DataRowView
关系到ComboBox的DataSource,DisplayMember和ValueMember属性的设置顺序的问题。
ComboBox的DataSource属性为object类型,但是需要实现IListSource接口的类型。
当把DataTable赋值给该属性后,如果此时没有指定ComboBox的DisplayMember和ValueMember属性的话,
这时获得的ComboBox的SelectValue属性将是System.Data.DataRowView的一个实例。
据此推测DataTable中实现的IListSource接口中的GetList()方法应该返回的是DataTable的
DefaultView,也就是DataView的一个实例是DataRowView的集合。而因为没有指定DisplayMember和ValueMember
属性,所以ComboBox直接把DataView中的每一个DataRowView实例填充到列表中。
这样的话就可能在ComboBox的SelectedIndexChanged事件处理中产生错误。
为了避免这个问题应该先设置DisplayMember和ValueMember属性,然后再设置DataSource属性。
避免先设置DataSource属性。
combobox.ValueMember = "id";
combobox.DataSource = dt;
combobox.DisplayMember = "name";
比如在combobox_SelectedIndexChanged事件需要获取id,就要将id放在DataSource上面,否则获取不到
参考:
http://www.cnblogs.com/liuhonghai/archive/2010/03/31/1701211.html
http://blog.csdn.net/lubiaopan/article/details/5915774
comboBox的id返回System.Data.DataRowView的更多相关文章
- (转)Combobox出现System.Data.DataRowView的原因,以及指定ValueMember的时机问题
原文地址 http://blog.csdn.net/lubiaopan/article/details/5915774 当使用Combobox控件时,出现SelectedValue的值为“System ...
- Combobox出现System.Data.DataRowView的原因
这种情况多次遇到.有时候明明完全相同的代码,在不同的场景运行却是两种结果, 其中一种坏的结果就是 comboBox所有的项都显示为System.Data.DataRowView 今天仔研究了一下,应该 ...
- 也谈解决Combobox绑定数据后取值出现System.Data.DataRowView的问题
刚才遇到一个怪现象:同一个窗口,同一张表,通过第一个Combobox值的改变,动态绑定第二个Combobox,结果出现一个怪现象,第一个Combobox有的值改变第二个Combobox一切正常,有几个 ...
- winform Combobox出现System.Data.DataRowView的解决的方法
个人总结: 1.触发了SelectedIndexChanged事件时:comboBox1.DataSource = dt;要放在comboBox1.SelectedIndex = 0;的上面 comb ...
- DropdownList控件绑定数据源显示system.data.datarowview的问题
.net开发的时候经常需要用到在后台取数据再绑定到控件的问题,通常只需要连接数据库,从数据库取出数据,放到Dataset里面,然后再设置控件的DataSource为这个Dataset,然后再datab ...
- 高并发分布式系统中生成全局唯一(订单号)Id js返回上一页并刷新、返回上一页、自动刷新页面 父页面操作嵌套iframe子页面的HTML标签元素 .net判断System.Data.DataRow中是否包含某列 .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数
高并发分布式系统中生成全局唯一(订单号)Id 1.GUID数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么通过组合的方式,保留GUID的10个字节,用另6个字节表示GUID生成的时间(D ...
- 在mvc返回JSON时出错:序列化类型为“System.Data.Entity.DynamicProxies.Photos....这个会的对象时检测到循环引用 的解决办法
在MVC中返回JSON时出错,序列化类型为“System.Data.Entity.DynamicProxies.Photos....这个会的对象时检测到循环引用. public ActionResul ...
- csharp: ODP.NET,System.Data.OracleClient(.net 4.0) and System.Data.OleDb读取Oracle g 11.2.0的区别
ODP.NET: 引用: using Oracle.DataAccess; //Oracle g 11.2.0 using Oracle.DataAccess.Client; using Oracle ...
- C++: read SQL server data using System::Data::SqlClient
stdafx.h: // stdafx.h : include file for standard system include files, // or project specific inclu ...
随机推荐
- poj3347Kadj Squares
链接 这题其实与几何没太大关系,还不错的题目. 参考吴永辉的算法设计书. 用lefi.rigi分别表示正方形在x轴上的投影. 为了避免用小数,把边长都扩大sqrt(2)倍,这样lef1 = 0,rig ...
- cublas相关的知识
下面链接给出了一个例子,怎么用cublas进行矩阵的运算提速,也说明了cublas的大致的使用方法. http://www.cnblogs.com/scut-fm/p/3756242.html cub ...
- Android热修复
https://github.com/WeMobileDev/article/blob/master/%E5%BE%AE%E4%BF%A1Android%E7%83%AD%E8%A1%A5%E4%B8 ...
- HashMap遍历
package com.jackey.topic; import java.util.ArrayList;import java.util.HashMap;import java.util.Itera ...
- java读取properties配置文件的方法
app.properties mail.smtp.host=smtp.163.com mail.transport.protocol=smtp import java.io.InputStream; ...
- Sqlserver_sql注入
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进 ...
- Embed对象
1.EMBED 元素 | embed 对象 http://www.jb51.net/shouce/dhtml/objects/EMBED.html 2. 3.
- 易通电脑锁2007V6.3.3.3无法卸载问题解决办法
易通电脑锁2007V6.3.3.3无法卸载问题解决办法把原版文件拷贝回去.bat@echo offcolor 2Fecho 该批处理会把易通电脑锁2007版原文件拷贝回去,解决易通电脑锁卸载时出现的运 ...
- linux笔记:RPM软件包管理-yum在线管理
ip地址配置: 用ifconfig命令只能配置ip和子网掩码,这样只能访问内网:如果需要访问公网则还必须要网关和DNS. 使用setup工具配置ip: 网络yum源配置: 常用yum命令:查询 常用y ...
- 关于http响应内容压缩的一点小积累。
1.在tomcat的server.xml配置文件中,添加上背景颜色为绿色的配置,服务器就会自动压缩 <Connector port="80" maxHttpHeaderSiz ...