![]() |
|
Модераторы: diadiavova, gambit |
![]()
|
|
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
здравствуйте
задача токая:
как сделать чтоб варианты выбора менялись при присвоении разных значении label1 (продавцы, покупатели) если надо списки вибора прописать в коде, и если надо взять из sql database? |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Это можно сделать если сам список в комбобокс добавляется посредством привязки данных. Например список находится в таблице какого-нибудь датасета, привязка выполняется через BindingSource. В этом компоненте есть свойство Filter, оно позволяет отображать только те елементы, которые удовлетворяют параметрам фильтра.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
спосибо за инфо, но как будет виглядеть код? у меня с синтаксисом какието проблеми :( и если не брать из дб а прямо опредилить перечен в коде с уже известними покупателями и постовшиками (в том случае если мне не придется нечего добавлять к списку покупателей и постовшиков)?
Добавлено через 3 минуты и 43 секунды еще раз извиняюсь за своие глупие вопросы. я слишком зеленый самоучка в програмирование |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Проще всего это сделать в дизайнере... и никакого кода На самом деле это плохой вариант, не обязательно использовать БД, но данные от кода отделить все же надо. Можно например использовать хмл-документ. Но не в этом суть...если надо определить список прямо в коде, то от этого ровным счетом ничего не меняется. Ты можешь добавить все элементы в таблицу из кода. Общий план таков: Добавляешь в форму DataSet, в датасет добавляешь таблицу, в которой будет, например два столбца(скажем категория и значение). Добавляешь BindingSource, источником данных для него(свойство DataSource) устанавливаешь свой DataSet, а источником данных для комбобокса будет этот BindingSource. Таблицу заполняешь в коде, так же не забуть у комбобокса установить свойство DataMember. А для того, чтобы отфильтровать значения используй свойство Filter этого BindingSource'а. Как с ним работать описано в документации, там и примеры есть http://msdn.microsoft.com/ru-ru/library/sy...rce.filter.aspx -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
||||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
У таблицы есть свойство Rows, оно возвращает коллекцию строк, добавляй строки в коллекцию так
http://msdn.microsoft.com/ru-ru/library/9yfsd47w.aspx или так http://msdn.microsoft.com/ru-ru/library/07wwak56.aspx -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
ураа
чуть после надо будет думат как сделать тоже самое через DataBase diadiavova, спосибо за советы. |
|||
|
||||
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
ok
создал базу similikosbaza1.sdf table: "obiekti" columns: "nomer", "status", "imia" в номере-пориадкови номер записи в статусе - продавец или покупатель а в имени - имена продавцов и покупателеи. задача: после выбора в ComboBox1 покупателя в ComboBox2 видать список покупателей, а при выборе продовцов - список продовцов. как прописать в коде? |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Точно так же. Для всех комбобоксов создай один обработчик выбора значения. В нем и сформируй строку фильтра по всем параметрам и передай ее свойству Filter. Условия объединяй оператором AND (как в WHERE SQL-запроса). -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
:( на словах все понятно, но в коде не получается :(
|
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Ну ты хотябы приведи код -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
cbvis1.Items.Add = Similikosbaza1DataSet.obieqtebi.saxeliColumn не работает cbvis1.Items.AddRange(Similikosbaza1DataSet.obieqtebi.saxeliColumn) не работает
cbvis1.Items.Add(Similikosbaza1DataSet.obieqtebi.saxeliColumn) не работает хотя ошибку не выдает перепробовал и другие варианты но резултат идентични :( |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Вообще-то Add - это метод и ему надо передавать значения через параметры, а не присваивать что-то Передаются этому методу строки(то есть данные), а не колонки И какое это имеет отношение к вопросу а фильтрации? -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
до филтрации надо итемс брат научится а потом начну експериментировать с филтрации
|
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Если ты их добавляешь прямо в комбобокс, а не так как я говорил, то фильтрация не получится.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
я хочу как ты говорил, но не могу правилно код написать :( наверно рано мне еше по таким форумам шастать :(
|
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
vuhu, Напиши небольшой список значений с категориями, я тебе сделаю примерчик. Самому придумывать список неохота, да и со своим тебе проще разобраться будет.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
N имя статус юр.статус
1 aa1 продавец о.о.о. 2 ab1 продавец физ.лицо 3 ba1 покупатель о.о.о. 4 bb1 покупатель физ.лицо 5 bb2 покупатель физ.лицо 6 ab2 продавец физ.лицо 7 aa2 продавец о.о.о. такой сойдет? |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Пример в аттаче. Только обрати внимание не только на код, но и на то, что сделано в дизайнере, важная часть работы сделана именно там.
Присоединённый файл ( Кол-во скачиваний: 3 )
Filterlist.rar 65,81 Kb-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
ша заплачу. :( у мениа 2008 и не откривает :( :( :(
|
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Актуальной версией студии в настоящее время является 2010, так что , если ты пользуешься более ранней - предупреждай. В данном случае мне не пришлось переделывать, просто перенес файлы в новый проект и чуток подправил, так что держи. Присоединённый файл ( Кол-во скачиваний: 3 )
Filterlist9.rar 63,63 Kb-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
огромное спосибо дядявова, мне еше расти и расти
мдаа, рано еще мне програми писать :( |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Я просто добавил это значение, для того, чтобы можно было отобразить нефильтрованный список. Если не нужно - можешь убрать. Это просто перенос на другую строку. Если выражение получается слишком длинным и его надо разбить на несколько строк, то можно сделать это таким способом. http://msdn.microsoft.com/ru-ru/library/1s46s4ew.aspx Смотри в самом конце. Статус - это имя нужного столбца таблицы. Таблицу я редактировал в дизайнере формы. Если нужен код, поищи его в том файле, который сгенерирован дизайнером. Дистинкт удаляет повторяющиеся записи. Вообще о линк-запросах читай здесь. http://msdn.microsoft.com/ru-ru/library/bb384830.aspx Это знак конкатенации(объединения) строк. Можешь использовать + вместо него. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
спосибо дядявова. начну в msdn по твоим линком ковирятся
|
|||
|
||||
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
извини дядявова, ето с другого форума, просто у них транслита нe била и здесь написал текст и случаино здесже опубликовал. наконецто нашел правилни синтаксис для ввода итемс из датабасе, тепер по твоим примерам начну Эксперементировать с филтрами.
вот так я сделал с combobox: With combobox2 .DataSource = Me.Similikosbaza1DataSet.obiekti() .DisplayMember = "imia" .ValueMember = "imia" End With a я все через add.items пытался сделать Это сообщение отредактировал(а) vuhu - 19.11.2010, 17:11 |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
При чем тут грид? У меня ни слова о нем не было. Речь шла о DataSet и эта штука как раз и предназначена для работы с базами данных. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
извини дядявова, ето с другого форума, просто у них транслита нe била и здесь написал текст и случаино здесже опубликовал. наконецто нашел правилни синтаксис для ввода итемс из датабасе, тепер по твоим примерам начну Эксперементировать с филтрами.
вот так я сделал с combobox:
a я все через add.items пытался сделать Это сообщение отредактировал(а) vuhu - 19.11.2010, 17:17 |
|||
|
||||
| vuhu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
дядявова. на этом методе можно сделать так, чтоб при виборе combobox2, автоматически заполнался в textbox1 это продавец или покупател?
Это сообщение отредактировал(а) vuhu - 19.11.2010, 18:05 |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Я то же самое сделал в дизайнере форм.
Конечно. Для того, чтобы сделать что-то при выборе элемента комбобокса надо делать это в обработчике события SelectedIndexChanged этого комбобокса. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
![]()
|
| Правила форума VB .NET | |
|
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |