Допустим, у меня есть форма, в которой кто-то может занести в каталог имена нескольких людей, их штат и город?
Предположим, у меня уже есть все государства / города в базе данных. (таблица для каждого штата с указанием городов в каждой таблице)
Поле имени будет TextBox. И поля State & City будут ComboBox (DropDownLists).
Одна строка (для записи одного человека) уже существует в форме. Но я хочу, чтобы пользователь мог динамически добавлять строки записей, нажимая кнопку «Добавить человека».
Следующий шаг - это то, где я борюсь. В каждой динамически добавляемой строке полей я хотел бы, чтобы второй ComboBox (Cities) заполнялся в зависимости от того, какое состояние выбрано в первом поле со списком. Кроме того, комбинированный список городов будет отключен до тех пор, пока не будет выбран комбинированный список состояний.
Мой код выглядит примерно так:
public ComboBox cbState;
public ComboBox cbCities;
public static int NumberOfPeople = 1;
private void btnAddNewPerson_Click(object sender, EventArgs e)
{
NumberOfPeople++;
TextBox txtPerson = new TextBox();
txtPerson.Name = "Person" + NumberOfPeople;
Panel.Controls.Add(txtPerson);
// ADD State ComboBox
cbState = new ComboBox();
cbState.Name = "State" + NumberOfPeople;
cbState.Enabled = true;
cbState.DropDownStyle = ComboBoxStyle.DropDownList;
Panel.Controls.Add(cbState);
// ADD City ComboBox
cbCity = new ComboBox();
cbCity.Name = "City" + NumberOfPeople;
cbCity.DropDownStyle = ComboBoxStyle.DropDownList;
cbCity.Enabled = false;
cbCity.SelectedValueChanged += new System.EventHandler(this.ChangeState);
Panel.Controls.Add(cbCity);
}
private void ChangeState(object sender, EventArgs e)
{
..... Don't know how to properly identify the City ComboBox that is in the same row as the State ComboBox that was just changed, and manipulate/populate it.....
}
Кто-нибудь может помочь мне решить эту проблему?
Буду очень признателен !!