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的是,如果你有更多的列,你仍然可以访问他们的值,并做任何你需要的.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...