C # -comboBox Выбранный индексИзменить - PullRequest
0 голосов
/ 13 октября 2009

У меня есть ComboBox, в котором есть список EmpolyeeNames. Когда пользователь выбирает EmpolyeeName «e1», представленный ниже список ListBox заполняется данными для выбранного сотрудника. Эти данные могут быть изменены. Пользователь и должен нажать кнопку Сохранить после того, как все изменения сделаны.

Но если пользователь забывает нажать «Сохранить» и выбрать другого сотрудника в поле со списком «e2», здесь я спрашиваю пользователя mEssagebox «Хотите ли вы сохранить данные для сотрудника« e1 »? если да, то я сохраняю данные конкретного сотрудника "e1",

Но при сохранении данных индекс комбинированного списка изменяется и в его тексте отображается недавно выбранный сотрудник "e2", но данные принадлежат сотруднику "e1".

КАК я могу сохранить старый прежний текст Employye "e1" в поле со списком, пока сохранение не будет завершено .??

Ответы [ 2 ]

3 голосов
/ 13 октября 2009

Проще говоря, когда элемент комбинированного списка выбран, поместите сотрудника в переменную класса. Используйте эту переменную класса вместо элемента в выпадающем списке.

После того как вы сохранили (или запросили) пользователя, вы можете установить переменную для вновь выбранного элемента.

1 голос
/ 13 октября 2009

Ваше внимание здесь должно быть сосредоточено на том, как вы собираетесь определять, когда пользователь изменил данные в списке. Вы можете поместить флаг где-нибудь, который будет показателем того, были ли изменены некоторые данные для этого конкретного пользователя. Если, например, это текст, который изменится в элементе списка, вы можете использовать событие TextChanged , чтобы установить флаг.

Пример:

bool employeeEdited = false;

private ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
     if (employeeEdited)
     {
         // prompt user to save
     }
     // reset flag
     employeeEdited = false;
}

private void ListBox1_TextChanged(object sender, EventArgs e)
{
     employeeEdited = true;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...