C# 还将值与列表框WinC中显示的项一起传递

C# 还将值与列表框WinC中显示的项一起传递,c#,winforms,listbox,C#,Winforms,Listbox,我想从上面的数据库查询中填充一个列表框。列表框将播放器结果正确显示为项目。我还想为所有这些项目分配一个值成员作为数据库的ID。这是怎么回事 SqlDataAdapter sdaa = new SqlDataAdapter("SELECT PLAYERS.ID, CAST(PLAYERS.NO AS VARCHAR) + ', ' + PLAYERS.FIRSTNAME AS PLAYER FROM PLAYERS INNER JOIN TEAMS ON PLAYERS.TEAM_ID =

我想从上面的数据库查询中填充一个列表框。列表框将播放器结果正确显示为项目。我还想为所有这些项目分配一个值成员作为数据库的ID。这是怎么回事

   SqlDataAdapter sdaa = new SqlDataAdapter("SELECT PLAYERS.ID, CAST(PLAYERS.NO AS VARCHAR) + ', ' + PLAYERS.FIRSTNAME AS PLAYER FROM PLAYERS INNER JOIN TEAMS ON PLAYERS.TEAM_ID = TEAMS.ID WHERE (TEAMS.NAME =oly ", con);
        DataTable dta = new DataTable();
        sdaa.Fill(dta);

            for (int i = 0; i < dt.Rows.Count; i++)
        {

            listBox1.Items.Add(dt.Rows[i]["PLAYER"].ToString());
        }
必须将dataTable分配给listbox.DataSource,然后设置ValueMemberHidden字段和显示成员

SqlDataAdapter sdaa = new SqlDataAdapter("SELECT PLAYERS.ID, CAST(PLAYERS.NO AS VARCHAR) + ', ' + PLAYERS.FIRSTNAME AS PLAYER FROM PLAYERS INNER JOIN TEAMS ON PLAYERS.TEAM_ID = TEAMS.ID WHERE (TEAMS.NAME =oly ", con);
    DataTable dta = new DataTable();
    sdaa.Fill(dta);
    listbox3.DataSource=dta;
    listbox3.DisplayMember="PLAYER";
    listbox3.ValueMember="ID";

对不起,我不明白你想要什么。是否要使用循环手动添加值成员@阿波罗