欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » ASP.Net » 正文

热门阅读

WinForm的ComboBox控件绑定DataTable后鼠标离开不显示选中项的Text值

创建时间:2017年05月16日 16:01  阅读次数:(4241)
分享到:
我在DataGridView中添加了一个DataGridViewComboBoxColumn列,Name是DataSourceField,且为这列绑定了一个DataTable作为数据源:
IList<DataSourceField > DataSourceFieldList = dsMod.DataSourceField;
DataTable dt_dsField = DataSourceFieldList.Select(p = > (object)p).ToList().ToDataTable(new DataSourceField());
this.DataSourceField.DataSource = dt_dsField;
this.DataSourceField.ValueMember = "ID";
this.DataSourceField.DisplayMember = "FieldName";

同时为DataGridView绑定一个DataTable:
DataTable dt = new DataTable();
dt.Columns.Add("FormTableFieldCode");
dt.Columns.Add("FormTableFieldName");
dt.Columns.Add("DataSourceField");
this.DataGridView1.DataSource = dt;

程序运行起来后有一个问题,DataSourceField列选中一项,但焦点离开后显示ID值了,我们想要的效果是想要显示FieldName值,如下图:


仔细排查后,原因是:
dt_dsField中的ID是int类型,但dt的DataSourceField列并没有设置为int类型,所以才会有这个错误,改写dt的DataSourceField列为int即可。
DataTable dt = new DataTable();
dt.Columns.Add("FormTableFieldCode");
dt.Columns.Add("FormTableFieldName");
dt.Columns.Add("DataSourceField", typeof(int));
this.DataGridView1.DataSource = dt

习惯了Web开发,刚开始WinForm开发,好多细节都需要反复调试,差别还是很大的。
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 53+55=? 的结果(结果是:108)
结  果: