我希望有人能提供帮助。但是,每当我运行我的代码并尝试查看highscore所有代码时,我都回到列表框中System.Data.DataRowView。
highscore
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;
即使设置了列表框的DisplayMember和ValueMembers,我也总是要处理此问题。
DisplayMember
ValueMembers
您当前的代码正确无误,并且可以正常工作,如果您需要访问任意列的当前选定项目值,则dTable可以让他们这样做:
dTable
DataRowView drv = (DataRowView)lstNames.SelectedItem; String valueOfItem = drv["NameAndScore"].ToString();
我希望获得完整的结果DataRowView是,如果您有更多的列,您仍然可以访问它们的值并对其进行任何操作。
DataRowView