Как привязать checkedlistbox к combobox и текстовому полю одновременно в C#?
У меня есть база данных в ms access. Я подключил его к C#.
Пользователю необходимо выбрать тип крана с помощью выпадающего списка. В тот момент, когда пользователь выбирает элемент в combobox, я хочу иметь некоторые элементы, связанные с этим выбором, в checkedlistbox, что я и сделал в этой части. Следующий шаг, который я не знаю, как сделать, заключается в том, что для уточнения элементов в checkedlistbox есть 2 текстовых поля для минимальной и максимальной мощности крана. Когда пользователь вводит минимальное число, я хочу, чтобы checkedlistbox обновлялся и снова, когда пользователь вводит максимальную емкость во втором текстовом поле, последний фильтр применял окончательные элементы, заполненные в checkedlistbox.
Это моя таблица в базе данных
| Crane Index | Crane Model Number | Crane Type | Crane Capacity Rating (tons) | |:-----------:|:------------------:|:-----------:|:----------------------------:| | 221 | LR 1400-1 | Crawler | 440 | | 258 | CC 2800 | Crawler | 660 | | 262 | CC 2400-1 | All Terrain | 400 | | 265 | CC 6800 | Crawler | 1375 | | 277 | LR 11350 | All Terrain | 1250 |
Что я уже пробовал:
<pre>List<string> crane_type = new List<string>(); for (int i = 0; i< test.Tables["cranemaintable"].Rows.Count; i++) { if (!crane_type.Contains(test.Tables["cranemaintable"].Rows[i]["crane type"])) { crane_type.Add(Convert.ToString(test.Tables["cranemaintable"].Rows[i]["crane type"])); } } //bind the crane_type list to the combobox1 comboBox1.DataSource = crane_type;
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { //clear the checkedboxlist everytime that the combobox itme is changed checkedListBoxCrane.Items.Clear(); //loop through the "cranemaintable" table and if the item that selected in the combobox is //equal to the "crane type" column then populate that item into the checkedlistbox foreach(DataRow item in test.Tables["cranemaintable"].Rows) { if (Convert.ToString(item["crane type"]) == Convert.ToString(comboBox1.SelectedItem)) { checkedListBoxCrane.Items.Add(Convert.ToString(item["crane model number"])); } } }
Gerry Schmitz
В этом случае вам лучше установить флажки, когда вы "сохраняете" или пытаетесь сохранить. Потому что вам также нужно "снять галочку", если пользователь начинает возвращать свой первоначальный выбор.Звучит как какой-то "завершенный контрольный список", поэтому проверка "в конце" не является чем-то необычным.
Ramtin992
Не могли бы вы объяснить немного подробнее? Я довольно новичок в c#
Спасибо.