![]() |
Модераторы: gambit, Partizan |
![]() ![]() ![]() |
|
shark1 |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Подскажите плиззз,вот так заполняю combobox,
Код :
А теперь как сделать,чтоб при выборе чего нибудь из combobox-а в соответствии заполнялись информацией textbox-ы. Вот например в datagridview если я делаю так :
то все работает. А как такоеже сделать с combobox-ом.Зарание спасибо. |
||||
|
|||||
Bogdan1024 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1436 Регистрация: 28.9.2005 Где: Киев Репутация: 1 Всего: 13 |
Ну. На событии SelectedIndexChanged тяни данные и записывай их в текстбоксы. Не?
-------------------- ![]() |
|||
|
||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
А как тянуть то
![]() |
|||
|
||||
Nestap |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 10.10.2008 Репутация: нет Всего: 0 |
shark1,
а не лехче исползуть DataReader чем адаптер? --------------------
<? echo "Nestap";?> |
|||
|
||||
jorikdima |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 18.1.2008 Где: Там, где Зенит Репутация: нет Всего: нет |
Зная индекс, знаешь ряд в таблице. |
|||
|
||||
informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 2 Всего: 6 |
Вообще все должно также работать...
Только в запрос нужно включать те поля которые вы хотите отображать в текстбоксах.. --------------------
namespace informatik |
|||
|
||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
киньте примерчик.Спасибо.
|
|||
|
||||
informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 2 Всего: 6 |
Это сообщение отредактировал(а) informatik - 7.11.2008, 08:10 --------------------
namespace informatik |
|||
|
||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Спасибо большое я попробовал,и вот выдаёт такую ошибку :
"System.ArgumentException was unhandled Message="Cannot bind to the property or column CompanyName on the DataSource.\r\nParameter name: dataMember" Код:
Подскажите в чём причина. Mожет в запросе,но мне нужно делать так "SELECT DISTINCT ClientName FROM TBL_Clients" потому что в Базе есть повторяющиеся ClientName,а так запрос их сортирует и убирает дубликаты.Спасибо. |
|||
|
||||
informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 2 Всего: 6 |
Я же вам говорил что нужно включать в запрос поля которые хотите отображать! А как иначе то? Чтобы посмотреть данные их нужно получить.
Напишите вот так
Загружать нуно все поля которые используете.. --------------------
namespace informatik |
|||
|
||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Ok,я поменял строку запроса
и у меня почему то в combobox-е только одно первое значение из базы,а где остальные ??? Спасибо. |
|||
|
||||
thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 1 Всего: 65 |
shark1,
Приветик. Я лично комбобоксы в цикле заполняю.
Т.е. из БД в таблицу ДатаСет считываю данные, а потом из колонки имена клиентов беру имена, в цикле пробегаюсь по строкам и заношу данные в комбо бокс. Все. Удачи. ![]() Это сообщение отредактировал(а) thomas - 7.11.2008, 09:54 -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Я с этим разобрался,теперь вижу всех,но Что то не так как надо.Например я добавил трёх клиентов.
Например: name :1 compname:1 name:2 compname:2 name:3 comppname:3 вопервых получаю срау в combobox последнюю запись и соответственно в textbox_comname бандинг.Но вот если я выбираю какую то запись из combobox-а ,то одна из трех теряется(исчезает),а выбранных становится две :(,что за ....Спасибо. Неувидел thomas кинь примерчик плиззз.Спасибо. Это сообщение отредактировал(а) shark1 - 7.11.2008, 10:14 |
|||
|
||||
informatik |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 2 Всего: 6 |
Если так происходит, то возможно все ваши значения во всех строках таблицы идентичны даже по ID, что неприемлемо(по ID). DISTINCT следит за тем чтобы не выводились повторяющиеся значения и если в запросе несколько полей, то строки сравниваются по всем полям. И т.к. вы хотите выбрать не повторяющиеся значения по полю ClientName (хотя судя по названию поля в выборе не повторяющихся значений по нему не вижу смысла). Возможно вы показываете не весь код и ошибка где то за пределами мной увиденного.... Добавлено через 10 минут и 23 секунды
Думаю теперь можно практически на 100% быть уверенным что ошибка не в том коде который вы представляете... --------------------
namespace informatik |
||||
|
|||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Хм :( вот весь код,
другого нет |
|||
|
||||
informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 2 Всего: 6 |
Ну поймите не может этого быть просто так.. Может ваш ComboBox подписан на какое то событие, которое и вызывает такую проблему... Просмотрите ваш код внимательнее, а еще убедитесь все ли вы сами понимаете в своем коде, (без обид) --------------------
namespace informatik |
|||
|
||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Да какие уж тут обиды,если бы я всё понимал я бы неспрашивал.Но вы как всегда оказались правы на 1000%.Я же баран засунул в бандинг и комбобокс.Я извеняюсь,просто невнимательность + незнание = ......
И напоследок маленький штрих,почему "SELECT DISTINCT ClientName,CompanyName,ID FROM TBL_Clients" не работает,если я например добавил клиента с тем же именем,то я вижу две записи в комбобоксе.Спасибо. Добавлено через 14 минут и 33 секунды Вот ...,ну как же побороть двойные записи ? :( |
|||
|
||||
informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 2 Всего: 6 |
Да. Есть такая проблема в вашем случае.. Заключается она в том что, если даже CompanyName одинаковые, но всеравно ID то разные у всех записей...
Выборку конечно такую можно сделать, но СМЫСЛ??? ClientName - как я понимаю Имя клиента и наверно полное, т.е. ФИО.. Зачем неповторяющиеся данные по этому полю... Каждый клиент должен быть УНИКАЛЬНЫМ... СМЫСЛ так выбирать данные мне непонятен По сути если у вас есть два Ивана Ивановича, то один из них вам нафиг ненужен.... Это сообщение отредактировал(а) informatik - 7.11.2008, 13:31 --------------------
namespace informatik |
|||
|
||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
![]() Добавлено через 2 минуты и 3 секунды Да и еще ClientName - ето толко имя и фамилия(и фамилия иногда) |
|||
|
||||
informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 2 Всего: 6 |
Ничего толком непонятно... но думаю у вас еще проблема с проектированием БД.... --------------------
namespace informatik |
|||
|
||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
![]() ClientName(ComboBox) CompanyName(textBox) ... DoneWork(textBox) так вот,например если клиент вернулся,то я не хочу заполнять все поля заново,хочу чтоб они бандились,а только поле DoneWork заполняю поновой,и сохроняю,и так в базе есть тот же клиент но с разной сделанной работой (для него).Спасибо. |
|||
|
||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
А какая может быть проблемма с базой.Есть одна таблица и в ней вся информация о клиентах и сделанной для них работ ???
|
|||
|
||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Или может подскажите как разделить правильно базу,чтоб в моём случае помогло.
Вот структура базы: Category ClientName CompanyName Address City PostalCode Telephone Fax Cell InsertDate Price Photo History Link ID Спасибо. Это сообщение отредактировал(а) shark1 - 8.11.2008, 12:25 |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
shark1, Вы описание предметной области выложите, а не структуру вашей единственной таблицы...
Добавлено через 2 минуты и 11 секунд
Есть правила проектирования баз данных...почитайте про первую, вторую и третью нормальную формы... думаю ваша база ни одной из нормальных форм не удовлетворяет. -------------------- СУВ, Partizan. |
|||
|
||||
informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 2 Всего: 6 |
Да уже ясно что как минимум две таблицы..
1. Клиенты 2. Работы Между ними связь 1-M (Работа M-1 Клиент) Вот в этом то у вас и проблема.. Потом можно будет написать нужный вам запрос... Но думаю вам действительно надо почитать про Проектирование БД, чтобы вам было все понятно, как и зачем все это нуно.. ![]() Добавлено @ 18:33 На форме ввода работы будет выбираться клиент для которого сделана работа, и данные о сделаной работе.. Это сообщение отредактировал(а) informatik - 8.11.2008, 18:33 --------------------
namespace informatik |
|||
|
||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Ok,спасибо за совет.Я разделил базу на две таблицы.TBL_Clients и TBL_ClientsWork.
TBL_Clients структура: IDClient - ключ ClientName Address City PostalCode Telephone Fax Cell InsertDate Photo Link TBL_ClientsWork структура: IDClientsWork - ключ IDClient Category CompanyName Price History- это поле куда будет вводится инфа о проделанной работе. Теперь подскажите как исправить команды.Например раньше я сохронял в базу так:
А как теперь поменять команду чтоб сохроняло в две таблици.Большое спасибо. |
|||
|
||||
informatik |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 2 Всего: 6 |
В две таблицы сразу сохранять информацию нет необходимости.. Вы сначала создаете клиентов, а потом создаете работы указывая для какого клиента создана работа.
--------------------
namespace informatik |
||||
|
|||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
informatik а нельзя это сделать все на одной форме?Спасибо.
|
|||
|
||||
informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 2 Всего: 6 |
Конечно можно, делайте как нравиться... Просто запросы нужно сделать отдельно... --------------------
namespace informatik |
|||
|
||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Сделал вот так:
только у меня вот такой вопрос,мне кажетса что второй insert должен быть с where,потомучто у меня в таблице TBL_ClientsWork есть поле IDClient кот должно быть связанно с таблицей TBL_Clients.Или нет ? подскажите ка должно быть сделанно where если это вообще нужно.Спасибо. |
|||
|
||||
informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 2 Всего: 6 |
Поле IDClient для того и делалось чтобы связывать две таблицы..
В этом поле должен находиться ID клиента к которому относится данная работа (запись в таблице TBL_ClientsWork) Вы разделение таблиц сделали, но непоняли зачем.. Вам просто необходимо почитать про проектирование БД, язык SQL и т.п. --------------------
namespace informatik |
|||
|
||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Правильно я всё так и понял,только как записать в таблицу TBL_ClientsWork-IDClient чтоб он был идентичен IDClient из таблици TBL_Clients.Спасибо.
|
|||
|
||||
shark1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Почему то вот так:
string qry1 = "Insert into TBL_ClientsWork (Category,CompanyName,Price,History) values(@Category,@CompanyName,Price,History)where TBL_Clients.IDClients = TBL_ClientsWork.IDClients"; неработает.Выдаёт ошибку: System.Data.OleDb.OleDbException: Missing semicolon (;) at end of SQL statement. и где мне нужно поставить ;.Спасибо. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |