2013-05-31 1 views
0

Открываю MDI-дочерний объект, когда я дважды кликаю по DataGridViewRow. В дочернем MDI показаны значения для этой выбранной строки. Одно из значений отображается в поле со списком. Когда я открываю первый MDI-диск, все идет хорошо, и поле со списком показывает правильное значение (правильная консоль).Значение Combobox изменяется при открытии того же самого родителя MDI

Однако, когда я открываю аналогичный второй ребенок MDI, выбирая другую строку из DataGridView, значение combobox в первом дочернем MDI изменяется на значение, которое должно отображаться во втором дочернем MDI. Все остальные значения текстового поля в первой дочерней форме MDI все еще отображаются правильно.

У кого-нибудь есть решение этой проблемы?

MDI форма Родитель форма

private void dataGridViewGames_DoubleClick(object sender, EventArgs e) 
    { 
     FormGame formGame = new FormGame(); 
     formGame.MdiParent = this.MdiParent; 
     formGame.Name = dataGridViewGames.SelectedRows[0].Index.ToString(); 
     formGame.Rij = dataGridViewGames.SelectedRows[0].Index; 
     formGame.Consoles = consoles; 
     formGame.Games = games; 
     formGame.Show(); 
     formGame.LeesGame(); 
    } 

MDI Child

private void FormGame_Load(object sender, EventArgs e) 
    { 
     comboBoxConsole.DataSource = consoles; 
     comboBoxConsole.DisplayMember = "Naam"; 
     comboBoxConsole.ValueMember = "Id"; 
    } 

    public void LeesGame() 
    { 
     DBGames.GameRow gameRij = (DBGames.GameRow)games.Rows[rij]; 
     this.Text = "Game - " + gameRij.Naam; 
     textBoxNaam.Text = gameRij.Naam; 
     textBoxPrijs.Text = gameRij.Prijs.ToString(); 
     textBoxAfbeelding.Text = gameRij.Afbeelding; 
     comboBoxConsole.SelectedValue = gameRij.ConsoleId; 
    } 

ответ

0

Я подозреваю, что это потому, что вы устанавливаете источник COMBOBOX на «консоли» и что при открытии второго ребенка, контекст «консоли» изменились (указав на другую запись. Вам понадобится два отдельных экземпляра источника данных «консолей» для подачи двух отдельных комбинированных полей.

В других странах ds, если есть только один объект «консолей», и он принадлежит родительскому MDI, то оба ребенка MDI полагаются на него. Измените это, и вы измените отображение всех этих данных MDI детьми.

+0

Спасибо, проблема решена! – JochenDB