加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 为什么我收到“System.Data.DataRowView”而不是我的Listb

发布时间:2020-12-15 18:26:59 所属栏目:百科 来源:网络整理
导读:我希望有人能帮忙.但是每当我运行我的代码,并尝试查看一个高分,所有我收到我的列表框是System.Data.DataRowView. 谁能看到为什么? 码: MySqlConnection myConn = new MySqlConnection(connStr);string sqlStr = "SELECT CONCAT(Name,' ',Score) as NameAnd
我希望有人能帮忙.但是每当我运行我的代码,并尝试查看一个高分,所有我收到我的列表框是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;

解决方法

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读