微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 为什么我收到“System.Data.DataRowView”而不是我的Listbox中的真实值?

我希望有人能帮忙.但是每当我运行我的代码,并尝试查看一个高分,所有我收到我的列表框是System.Data.DaTarowView.

谁能看到为什么?

码:

MysqLConnection myConn = new MysqLConnection(connStr);

string sqlStr = "SELECT CONCAT(Name,' ',score) as NameAndscore " + 
                "FROM highscore ORDER BY score DESC";

MysqLDataAdapter dAdapter = new MysqLDataAdapter(sqlStr,myConn);
DataTable dTable = new DataTable();
dAdapter.Fill(dTable);
dAdapter.dispose();
lstNames.displayMember = "NameAndscore";
lstNames.DataSource = dTable;

解决方法

我总是要处理这个问题,即使我设置了ListBoxdisplayMember和ValueMembers.
您当前的代码是正确的,应该有效,如果您需要访问dTable的任何列的当前选定项目值,您可以让他们这样做:
DaTarowView drv = (DaTarowView)lstNames.SelectedItem;
String valueOfItem = drv["NameAndscore"].ToString();

我喜欢获取整个DaTarowView的是,如果你有更多的列,你仍然可以访问他们的值,并做任何你需要的.

原文地址:https://www.jb51.cc/csharp/96198.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐