![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
eon |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 31.8.2010 Репутация: нет Всего: нет |
VS08C# SQLServer08
Есть два combobox. Первый заполняется при загрузке формы из таблицы naimenovanie:
Второй в зависимости от того, что выбрано в первом, загружает данные из таблицы utochnenie при событии comboBox1_SelectedIndexChanged:
Таблицы naimenovanie и utochnenie связаны по полю naimenovanie_id в таблице utochnenie. Строка
неверная, хотя работает. Вопрос:как изменить SELECT, чтобы выбиралось: "SLECET * FROM utochnenie WHERE naimenovanie_id = <ИД НАИМЕНОВАНИЯ ВЫБРАННОГО В ПЕРВОМ КОМБОБОКСЕ> ORDER BY ord" Спасибо. Это сообщение отредактировал(а) eon - 23.11.2010, 14:25 |
||||||
|
|||||||
A5uKa |
|
|||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 3 Всего: 16 |
ComboBox1.SelectedItem.Value.ToString()
|
|||
|
||||
Freyzer |
|
|||
![]() обаятельный нахал ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 12.12.2009 Где: на Марсе Репутация: нет Всего: 1 |
Может тут что поможет http://www.google.ru/search?ie=UTF-8&h...ZJYbBswaarcX2Dg
-------------------- Advocatus Dei ![]() ![]() |
|||
|
||||
eon |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 31.8.2010 Репутация: нет Всего: нет |
Не идет :( |
|||
|
||||
eon |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 31.8.2010 Репутация: нет Всего: нет |
Это то что нужно. Но почему-то после comboBox1.SelectedIndex = 0; comboBox1.SelectedText остается пустым. Кто-нибудь знает, почему? |
|||
|
||||
A5uKa |
|
||||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 3 Всего: 16 |
Я не понимаю что надо тогда ... Задай вопрос более конкретно, а то куски непонятно чего везде и что из этого не работает и как работать должно я не понимаю. Пустым остаётся скорее всего из-за того, что ты PostBack не делаешь. |
||||
|
|||||
eon |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 31.8.2010 Репутация: нет Всего: нет |
От первоначального вопроса уже перешел к следующему:
Заполнил комбобокс данными программно из таблицы БД. При событии comboBox1_SelectedIndexChanged смотрю comboBox1.SelectedIndex - отображается правильно (ну если выбрал третью строку в комбобоксе то и будет comboBox1.SelectedIndex = 2), а вот comboBox1.SelectedText и comboBox1.SelectedItem as string остаются пустыми, хотя третья строка в комбобоксе не пустая естественно. Проект WinForms, а не ASP.NET. это по поводу postback'a. |
|||
|
||||
neic |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 839 Регистрация: 28.1.2007 Репутация: нет Всего: 7 |
eon
comboBox1.SelectedText замени на comboBox1.Text Старое (оставил может пригодиться): Как я понял: У нас есть: 1 БД 2 Комобобокса Первый комбобокс подгружает данные из БД и содержит в себе список наименований чего-то. Нужно: Чтобы при выборе в первом кобобоксе какого-либо пункта: считался номер строки (он же видимо ID) и подгружались данные из БД? Если я прав, то: Во-первых: в первом комбобоксе сделай событие comboBox1.SelectedIndex (или TextChanged) и туда перемести код заполнения второго. Во-вторых: string t = comboBox1.Text; //возвращаем выбранную строку, т.е. если у нас строка с индексом три = Привет, то будет t="Привет". int i = comboBox1.SelectedIndex; //собственно выбранная строка В-третьих: запрос для заполнения второго будет таков: если SelectedIndex является ID: "SLECET * FROM utochnenie WHERE naimenovanie_id ="+ comboBox1.SelectedIndex + " ORDER BY ord" если Text является ID: "SLECET * FROM utochnenie WHERE naimenovanie_id ="+ Convert.ToInt32(comboBox1.Text) + " ORDER BY ord" |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
В аттаче пример как это делать, без всяких запросов можно сделать.. используя биндинг и DataSet например
Присоединённый файл ( Кол-во скачиваний: 13 ) ![]() -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
neic |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 839 Регистрация: 28.1.2007 Репутация: нет Всего: 7 |
jonie
Кстати да, через мастера можно было бы все настроить =) |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
neic, ну в своем примере я не делал релейшена, хотя он тут уместен. Я показал как именно получить id выбранный и выбрать по нему записи
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
eon |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 31.8.2010 Репутация: нет Всего: нет |
Спасибо за равернутый ответ. НО.. ID в бд и порядок следования в combobox1 не обязательно совпадают. Сделал замену на comboBox1.Text, всё работает хорошо, но только если вручную поменял я выбранный пункт в combobox1. То есть у меня в событии формы Form1_Load написано
Вроде после этой строки должно вызваться событие
А оно почему-то не вызывается. Оно вызывается когда я уже сам вручную поменяю на форме выбранный пункт в combobox1. |
||||||
|
|||||||
eon |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 31.8.2010 Репутация: нет Всего: нет |
Всем спасибо. Проблему решил.
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |