У меня есть класс со следующей структурой:
public class Grupo
{
public virtual int IdGrupo { get; private set; }
public virtual string Descricao { get; set; }
}
public class Usuario
{
public virtual int IdUsuario { get; private set; }
public virtual Grupo Grupo { get; set; }
public virtual string Login { get; set; }
public virtual string Senha { get; set; }
public virtual bool Administrador { get; set; }
}
У меня есть класс, который реализует некоторые методы для заполнения BindingList:
BindingList<Usuario> Usuariolst = UsuarioRepository.GetAll();
BindingList<Grupo> Grupolst = GrupoRepository.GetAll();
В моей форме Form1 у меня естьComboBox с именем ComboBox1 и BindingSource с именем = BindingSource1, после заполнения списков связывания я могу установить ComboBox со списком:
BindingSource1.DataSource = Usuariolst;
ComboBox1.DataSource = Grupolst;
ComboBox1.DisplayMember = "Descricao";
ComboBox1.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.BindingSource1, "Grupo", true));
Все CRUD работают хорошо, проблема заключается в том, что я загружаю Usuariolst и устанавливаю текущую позицию BindingSource1поле со списком не отображает правильное связанное значение, но когда я сохраняю правильное значение, я использую nhibernate, чтобы сделать это.
Кажется, что привязка данных списка со списком правильно связана, поэтому правильное значениене показан.