我目前有两个列表框。一个绑定到游戏的SQL表。该表由game_ID
,Name
和Type
组成。我的列表框的显示成员和值成员设置为Name
。我希望能够选择一个游戏并将所选项目移至第二个ListBox
并显示Name
。那部分工作正常。我遇到的问题是,当将其插入到另一个SQL表中时,我希望它仅插入Game_ID
(以及另一个顺序ID),而不插入Name
。
期望的结果是仅在第二个ListBox
中显示游戏名称,但仍然可以使用game_id
。如果需要,我可以在两个列表框中同时显示game_id
和Name
。
顶部列表框是对游戏表的简单选择查询,以下代码用于将项目移至底部列表框:
if (lstGames.Items.Count > 0)
{
lstSelGames.Items.Add(lstGames.SelectedValue);
}
并从列表框中删除:
if (lstSelGames.Items.Count > 0)
{
lstSelGames.Items.Remove(lstSelGames.SelectedItem);
}
答案 0 :(得分:1)
您可以创建一个具有Id
和Name
属性的简单类,并将该类的实例添加到第二个ListBox
,同时将ListBox.DisplayMember
设置为Name
,与第一个ListBox
中的方法相同。
public class Game
{
public int Id { get; set; }
public string Name { get; set; }
}
添加这样的项目:
listBox.Items.Add( new Game(){ Id = 1, Name = "Some name" } );
然后检索:
var game = (Game)listBox.Items[0];