LINQ 쿼리의 요소와 두 개의 콤보 상자가있는 목록이 있습니다. 첫 번째 콤보 상자는 데이터 소스로 목록을 사용하지만 두 번째 콤보 상자는 첫 번째 콤보 상자에서 선택한 항목없이 같은 목록을 사용하기를 원합니다. IE : 나 목록을 <> A, B, C
콤보 상자 옵션 A는, B, C
콤보 상자 선택된 항목하십시오
Combobox2 선택해 B, C
다음콤보 상자 선택에 따라 목록에서 항목을 뺍니다.
코드이다 :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class AdicionarEquipa_Admin: Form
{
private DiagramaEntidadesContainer dbATMT;
public AdicionarEquipa_Admin()
{
InitializeComponent();
dbATMT = new DiagramaEntidadesContainer();
PreencherListas();
}
private void PreencherListas()
{
List<Player> jogadores = (from player in dbATMT.PlayerSet
select player).ToList<Player>();
Player jogadorSelecionado = (Player)cB_addEquipaJogador1.SelectedItem;
List<Player> jogadores2 = new List<Player>();
foreach (Player jogador in jogadores)
{
if (jogador != jogadorSelecionado)
{
jogadores2.Add(jogador);
}
}
cB_addEquipaJogador1.DataSource = jogadores;
cB_addEquipaJogador2.DataSource = jogadores2;
}
private void cB_addEquipaJogador1_SelectedIndexChanged(object sender, EventArgs e)
{
PreencherListas();
}
private void cB_addEquipaJogador2_SelectedIndexChanged(object sender, EventArgs e)
{
PreencherListas();
}
}
}
이것은 작동하지 않습니다. DiagramaEntidadesContainer는 ADO.NET 데이터베이스입니다.
(가)'''목록 .Remove''' 함수는 부울 값 –
fshauge
을 반환 jogadorSelecionado을 위를 필요로하지 않는다); jogadores2 = jogadores; ' ? –
선택한 요소 (jogadorSelecionado) – fshauge