首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从数据绑定中获得数据源的值?

如何从数据绑定中获得数据源的值?
EN

Stack Overflow用户
提问于 2013-09-11 19:16:22
回答 1查看 5.2K关注 0票数 2

我有一个DevExpress LookupEdit (基本上是一个下拉列表)。在某些情况下,DataTable LookupEdit绑定可以从数据库加载一个没有出现在LookupEdit可以显示的值列表中的值。在本例中,LookupEdit的EditValue属性在从其数据绑定中读取时被设置为DBNull,但DataTable中的值将保留下来。

我想要一种使用控件的DataTable属性(而不是)直接引用它从它获得值的方法。也就是说,我想通过MyLookupEdit.DataBindings[0].SomethingSomething而不是MyDataTable[MyLookupEditColumn]来引用它。这样,我就可以在事件处理程序中获得它(在事件处理程序中给我调用LookupEdit),并为不同的LookupEdits (绑定到我的DataTable中的不同列)重用该事件处理程序。

我想做这样的事情:

代码语言:javascript
运行
复制
Binding bind = (sender as LookupEdit).DataBindings[0];
DataTable table = bind.DataSource as DataTable;
object data = table[binding.DataMemberInfo.BindingMember];

..。但是BindingMember是一个字符串,我需要一个DataColumn。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-11 19:49:54

我在正确的轨道上,只有几步之遥。这就是我需要的:

代码语言:javascript
运行
复制
Binding bind = (sender as Control).DataBindings[0];
DataTable table = (bind.DataSource as DataSet).Tables[0];
string table_column_name = bind.BindingMemberInfo.BindingMember;
string column_name = table_column_name.Split(new char[] { '.' })[1];
DataColumn column = table.Columns[table.Columns.IndexOf(column_name)];
object data = table.Rows[0][column];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18749446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档