|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
Как через кнопку добавить элемент, например название города в ListBox и сделать его ссылкой на другую форму где будет хранится некая информация о городе, например: название, численность населения, площадь, которую можно будет редактировать т.е. шаг 1. На form1 Нажимаем на "добавить". шаг 2. Появляется form2 с анкетой о городе, заполняем ее, сохраняем кнопкой "Сохранить". Информация сохраняется в табличку Access. шаг 3. После этого всего в listbox1 на form1 (Города) появляется запись "Название" , например Якутск шаг 4. Запускаем приложения шаг 5. Для просмотра и редактирования нужно нажать на Якутск, открывается form2 (анкета) вообщем интерфейс такой: Заранее спс ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 02:20 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
Нарисовал норм, делов минут на 30. Что не получается? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 05:48 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
Если по-простому без всяких паттернов, то заводишь класс города (City, напимер), заводишь список городов, байндишь этот список к листбоксу, где для отображения городов в списке выбираешь название города. Заводишь обработчик в литсбоксе для вызова формы. При вызове формы передаёшь в неё выбранный город, где байндишь поля города на поля формы. Далее нюансы - если используешь какой-то механизм привязок, то сохраняться всё должно и так. Если всё руками делаешь, то, соответственно, пишешь код, который переводит поля города в поля формы, выводит города в листбокс по их названиям, сохраняет город из формы в список городов и обновляет при этом листбокс. Вообще, рекомендовал бы сделать всё на WPF и использовать встроенные привязки. Вот самый простой пример для WPF для отображения твоего списка городов. Добавить функциональности для создания и сохранения города - уже надо посложнее пример. Вот такой , например. Только вместо форм - вкладки, что сути не меняет. Вот ещё простой пример твоей тематики, только без отдельной формы для редактирования, а просто в специально области над списком. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 18:58 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
Спасибо за ответ. Буду тренироваться для меня C# лес густой, решил просто по пробовать более сложную написать в отличие от той, в которой используется datagridview. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2016, 03:48 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
Что нужно сделать, чтобы после вызова из form1 рис 1 form2 строго центрировалась на form1 рис 2???? и так же окна оповещения, например "Удалить запись, да\нет" окно просто смещается вправо относительно form ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 09:43 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
и рис 2 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 09:43 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
https://www.google.ru/search?hl=en-RU&source=hp&biw=&bih=&q=C# wpf child window position&gbv=2&oq=C# wpf child window position&gs_l=heirloom-hp.3..0i22i30l2.1913.11145.0.11297.30.28.1.1.1.0.131.2851.9j19.28.0....0...1ac.1.34.heirloom-hp..0.30.2852.fxYww2X6XAs http://stackoverflow.com/questions/2446602/wpf-set-dialog-window-position-relative-to-main-window ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 15:22 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
Подскажите направление в решение задачи, вообщем есть бд access в ней есть 2 табл. В приложение написанное на C# в Visual Studio 2013. Такая структура: На главной форме есть два лист бокса: - 1 листбокс - список компаний, - 2 листбокс - список сотрудников выбранной компании. Проблема в том, что нужно чтобы при создании компании с одинаковым именем (например интел) все сотрудники аналогичной компании автоматом входят в состав новой. А надо, чтоб этого не было. В каждой таблице есть поле ID, но как связать ID компании с сотрудником, ума не приложу! Первый шаг, что я сделал это поле с названием организации в таблице сотрудников: 1. числовым 2. вручную забил туда ID компании Ну а дальше все тупик .... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 01:43 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
забыл написать, каждый листбокс - это отдельная таблица в БД ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 01:44 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
SAS2014нужно чтобы SAS2014А надо, чтоб этого не было. Так нужно или не нужно? )) В любом случае, вам надо изучить, что такое связи между таблицами и как создавать связи "один к одному", "один ко многим" и "много ко многим". В частности, если у вас ни одни сотрудник не может работать сразу более, чем в одной компании, то достаточно в таблице сотрудников завести поле CompanyID - т. е. идентификатор компании. Тогда каждый сотрудник будет привязан к какой-нибудь компании, причём только к одной. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 04:17 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
Doomplay998Тогда каждый сотрудник будет привязан к какой-нибудь компании, причём только к одной. При этом можно создавать компании с одинаковыми именами, но разными идентификаторами, но сотрудник всё равно будет привязан только к компании с конкретным идентификатором, независимо от её названия. А вообще, названия компаний тоже следовало бы сделать уникальными - чтобы нельзя было создавать компании с одинаковыми именами. Вроде, в реальном мире одновременно не могут существовать компании с одинаковыми именами. Даже если это холдинг - всё равно мать и все дочки по-разному называются. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 04:20 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
Doomplay998SAS2014нужно чтобы SAS2014А надо, чтоб этого не было. Так нужно или не нужно? )) В любом случае, вам надо изучить, что такое связи между таблицами и как создавать связи "один к одному", "один ко многим" и "много ко многим". В частности, если у вас ни одни сотрудник не может работать сразу более, чем в одной компании, то достаточно в таблице сотрудников завести поле CompanyID - т. е. идентификатор компании. Тогда каждый сотрудник будет привязан к какой-нибудь компании, причём только к одной. нужно так и есть при создание записи в таблице т.е. компании создается ее уникальный ID ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 06:14 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
Doomplay998SAS2014нужно чтобы SAS2014А надо, чтоб этого не было. Так нужно или не нужно? )) нужно чтобы при создание компании сотрудники уже записаной в БД такой же кампании не попадали в новую ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 06:16 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
SAS2014Doomplay998пропущено... пропущено... Так нужно или не нужно? )) нужно чтобы при создание компании сотрудники уже записаной в БД такой же кампании не попадали в новую автордостаточно в таблице сотрудников завести поле CompanyID - т. е. идентификатор компании. Тогда каждый сотрудник будет привязан к какой-нибудь компании, причём только к одной. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 06:19 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
а без создания дополнительных столбцов в табл. сотрудников что ни как, если уже есть столбец с ID компаниями в табл. сотрудники. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 09:49 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
SAS2014а без создания дополнительных столбцов в табл. сотрудников что ни как, если уже есть столбец с ID компаниями в табл. сотрудники. На самом деле надо ещё создать так называемое отношение - сущность, которая связывает две таблицы. Я не совсем понял, что вы раньше имели ввиду под "вручную забил ID компании". При отношении есть разные правила - на удаление, добавление, изменение записей и прочие действия. Чтобы СУБД отрабатывала автоматически эти действия, нужно задать эти отношения с правилами. Если таблицы будут без отношений, то вам нужно будет реализовать операции, связанные с изменениями сразу в нескольких таблицах, в самом приложении - т. е. вне базы данных. Такой подход не распространён и не рекомендуется. Там много ещё каких нюансов есть, которые здесь обсуждать нет смысла - мы же не будет за вас писать вам приложение с нуля на протяжении всей темы на форуме. ))) Такое ощущение, что вы либо не читали ничего про базы данных, либо только первые главы в какой-нибудь книжке прочитали. Советую ознакомиться с этой темой подробнее. Т. е. если у вас какая-то книжка по Аксессу (сам я им не пользовался), то почитайте побольше. Там должна быть общая теория баз данных - что такое таблицы, отношения, нормальные формы (хотя бы первые две, без которых нормальные БД не делаются). Без этого нет смысла что-то дальше обсуждать - вы будете спотыкаться об каждое слово и на каждом шагу делать не так. И да, в будущем старайтесь создавать отдельные темы по разным вопросам, чтобы эти темы не превращались в персональные обсуждения персональных проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 10:28 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
с нуля то не надо приложение написал, просто хотел ставить блокировку на создания одноименных компаний, но начальство сказала нет. вот и сел я в болото. был вариант хитрый, с добавлением некого суффикса к имени компании при ее сохранении в базу, в базе компания с суффиксом, а на форме без него. пример с суффиксом в БД: асус интел_1 интел_2 а в приложение суффиксы скрытны: асус интел интел ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2016, 01:41 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
Если надо компании уникальные, но с возможностью одинаковых имён - делаете уникальный идентификатор, а столбец имени делаете неуникальным. В таблице сотруюников заводите поле "идентификатор компании" - не "имя компании". Тогда сотрудник будет привязан к идентификатору компании, а не к её имени. Естественно , что при выводе всех сотрудников всех компаний с одинаковым именем они будут находиться как бы под одной компанией. Может, в этом у вас проблемы, я понять не могу? Но если так, то это и должно быть . Хотели одинаковые имена для компаний - получили. Требование, чтобы у компаний были одинаковые имена , но их сотрудники были под компаниями с разными именами - немного противоречиво, если вообще не антилогичный бред, не находите? Но если нужна такая идиотия, то и для неё у нас есть некоторый подход - заводите для компаний ещё один столбец что-то вроде DisplayName - имя для показа в интерфейсах и прочих местах, где надо отображать имя компании. Там можно сделать разное отображение - типа "Intel 1", "Intel 2" и т. п. Теперь в таблице компании есть три гланых для нас столбца - "идентификатор", к которому привязываются сотрудники, неуникальное "имя" и уникальное "имя для показа". Но мне сдаётся, что этот бред, будучи явленным вашему начальству, сразу покажет, что "начальник - дурак" и вам скажут всё переделать - сделать уникальные имена для компаний. Впрочем, это не моё дело - я вам предложил возможный подход для реализации бреда. Ещё раз рекомендую прочитать про базы данных подробнее - многие вещи должны для вас проясниться. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2016, 06:47 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
1. А по каким причинам происходит задержка обновления LISTBOX или считывания данных с БД Access? т.е. я добавляю сотрудника в компанию в базу данных он попадает, но отображение в листбоксе проходит с задержкой (~ 3 сек) 2. Если я хочу сделать так , чтобы при удалении компании удалялись сразу и ее сотрудники, я так понимаю, тут нужно удаление проводить по ID или как? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 07:16 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
ок, что тогда нужно написать на события закрытия формы3 , чтобы обновился листбокс2 на форме 1? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2016, 06:29 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
SAS2014ок, что тогда нужно написать на события закрытия формы3 , чтобы обновился листбокс2 на форме 1? Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2016, 06:45 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
Алексей КSAS2014ок, что тогда нужно написать на события закрытия формы3 , чтобы обновился листбокс2 на форме 1? Код: c# 1. 2. 3. 4.
ок спс буду пробовать ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2016, 02:57 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
а как лучше объявить в качестве переменной листбокс 2 так как отладчик ругается на лист бокс2 в теле кода закрытия формы ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2016, 09:51 |
|
Разработка приложения на C#
|
|||
---|---|---|---|
#18+
SAS2014Алексей Кпропущено... Код: c# 1. 2. 3. 4.
ок спс буду пробовать автора как лучше объявить в качестве переменной листбокс 2 так как отладчик ругается на лист бокс2 в теле кода закрытия формы P.S. Простите, не сдержалсо ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2016, 13:13 |
|
|
start [/forum/topic.php?fid=20&msg=39349980&tid=1400193]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 266ms |
total: | 418ms |
0 / 0 |