Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 27.04.2023
Сообщений: 3

Функция с Panel и нумерация в таблице

05.12.2023, 23:51. Показов 853. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую уважаемые постояльцы и те кто тут в первые!Делаю для себя программу склада.До этого работал с Unity и мне скажу честно сложно делать что-то в Visual Studio,но от тетрадок я хочу уже избавиться )
Постараюсь быть кратким и прошу адекватной помощи так как я уже сильно запутался пытавшись решить две задачи сам.

Проект создан через: "Приложение Windows Forms (.Net Framework)" пишу всё на языке C#

1.Создал базу данных "Файл базы данных Microsoft SQL Server (SqlClient)" - создал таблицу
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE [dbo].[TABLE] (
    [Id]          INT            IDENTITY (-1, -1) NOT NULL,
    [Idp]         BIT            NULL,
    [Тип техники] NVARCHAR (MAX) DEFAULT ((50)) NULL,
    [Марка]       NVARCHAR (MAX) DEFAULT ((50)) NULL,
    [Модель]      NVARCHAR (MAX) DEFAULT ((50)) NULL,
    [Позиция]     NVARCHAR (MAX) DEFAULT ((50)) NULL,
    [Кг]          NVARCHAR (MAX) DEFAULT ((50)) NULL,
    [Обороты]     NVARCHAR (MAX) DEFAULT ((50)) NULL,
    [Габариты]    NVARCHAR (MAX) DEFAULT ((50)) NULL,
    [Гарантия]    NVARCHAR (MAX) DEFAULT ((50)) NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC)
);
Как я узнал "IDENTITY (1, 1)" - для первичного ключа с строке должен начинать нумерацию с 1 и прибавлять на 1,но не тут то было,нумерация идёт с -1 и далее -2 ,-3 и т.д,сколько бы я не мучался,сколько в интернете не искал походу с такой проблемой ни кто не сталкивался...?

2.Система такая,в таблице (которая выше) у меня "Видимые данные"- к примеру я открыл таблицу и могу при клиенте найти и показать и он увидит только основные записи которые я могу показать,а так же есть "Не видимые данные" -к примеру возьмём где я купил,адрес увоза и привоза техники"- которые я не хочу чтобы отображались в строке.Я решил сделать чтобы при нажатии на строку в таблице два раза я создавал объект "Panel" - которое будет отображаться в роли окна доп информации,естественно вписывать и редактировать в нём данные.Тут я мучаюсь уже очень долго и на столько запустался из-за того что ,то одно работает,то не работает.На данный момент решил обратиться сюда за помощью вот код на создание Panel:
C#
1
2
3
4
5
6
7
8
9
 public void tableDataGridView_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
 {
 //Создаём панель
         Panel newPanel = new Panel();
             newPanel.Location = new Point(80, 20);
             newPanel.Size = new Size(800, 480);
             newPanel.BackColor = Color.LightGray;
     // далее добавляю кучу Label,TextBox,Combobox
    // this.Controls.Add(newPanel); // после добавления объектов и вывод их в Panel я отображаю Panel в окне
Проблема в том,что я не могу произвести привязку панели к строке,сохранить это и при загрузке сделать проверку,если Panel загрузилась (или как-то по другому это объяснить) для данной строки,то открыть сохранённый Panel,иначе создать новый.

Знаю что код по нажатию не о чём,но писать заного и показывать свои все способы и методы я не смогу сюда уместить )
Кому не трудно буду очень благодарен,а если смогу отблагодарю не много.
И ещё раз повторюсь программу делаю для себя и только,чтобы не думали что делаю на продажу или ещё куда-то.Просто не могу совладать с двумя проблемами.Всем здоровья!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.12.2023, 23:51
Ответы с готовыми решениями:

Нумерация строк в таблице
Просто есть пустая таблица и в ней одно поле и нет ни одной записи. Как можно быстро, т.е. с помощью какой команды можно заполнить поле...

Нумерация в таблице на php
Добрый день. Имеется код, который выводит из базы некоторые значения в таблицу. Задача - пронумеровать строки этой таблицы. Вот...

Автоматическая нумерация в таблице не сбрасывается на 1
Я добавлял и удалял данные в таблице, а счётчик (идентификатор) не сбрасывался на 1, а просто продолжал расти. У меня сейчас например 4...

6
 Аватар для Worldmaster
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
06.12.2023, 08:38
Цитата Сообщение от tre1897 Посмотреть сообщение
вот код на создание Panel:
Если уж хотите прям на отдельной панельке то лучше все таки сделать отдельно контрол со своими полями.
И в этот контрол добавить методы для формирования данных. Эдакий ViewModel.

Либо сразу на форме создайте готовую панельку и разместите на ней нужные компоненты и просто оперируйте свойством Visible.


Цитата Сообщение от tre1897 Посмотреть сообщение
[Id]          INT            IDENTITY (-1, -1) NOT NULL,
Мануал тут надо было почитать:

IDENTITY(1,1) - это свойство, которое указывает, что столбец является автоинкрементным. Первое число (1) - это начальное значение, второе число (1) - это шаг увеличения.

Цитата Сообщение от tre1897 Посмотреть сообщение
Проблема в том,что я не могу произвести привязку панели к строке
Также при загрузке наверное лучше формировать данные в класс. В таблице отображения должно быть скрытое поле ID.
Щелкнули на строку - взяли ID- нашли в своем списке загруженных классов нужный объект и вывели данные.

Либо, если данных очень много то Свой список не делаете а получив ID обращаетесь к базе за конкретным объектом либо конкретной выборкой допинформации. SELECT в помощь.
0
 Аватар для Andrey-MSK
3349 / 2235 / 388
Регистрация: 14.08.2018
Сообщений: 7,557
Записей в блоге: 4
06.12.2023, 08:40
Цитата Сообщение от tre1897 Посмотреть сообщение
нумерация идёт с -1 и далее -2 ,-3
А вы данные в БД сохраняете? Отрицательные индексы присваивает элемент управления UI.
Цитата Сообщение от tre1897 Посмотреть сообщение
Проект создан через: "Приложение Windows Forms (.Net Framework)" пишу всё на языке C#
Надо было выбирать NET. Тогда обучени можно вести вот по этим учебникам
1. Полное руководство по языку программирования С# 12 и платформе .NET 8
2. Руководство по ADO.NET и работе с базами данных в .NET
3. Руководство по программированию в Windows Forms
Именно в таком порядке.
Цитата Сообщение от tre1897 Посмотреть сообщение
1.Создал базу данных "Файл базы данных Microsoft SQL Server (SqlClient)" - создал таблицу
Это всё делается не через студию, а через специальные программы для MS SQL Server - SQL Server Management Studio (SSMS)
Работа с MS SQL Server - Руководство по MS SQL Server 2022
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
06.12.2023, 13:46
tre1897, Тоже немного дополню
C#
1
2
3
[Тип техники]
[Марка]
[Модель]
Это уже отдельные сущности, поскольку они могут иметь перечислительные варианты. Думаю удобнее выбрать из списка вариант, нежели писать его вручную каждый раз.
0
0 / 0 / 0
Регистрация: 27.04.2023
Сообщений: 3
06.12.2023, 21:46  [ТС]
Цитата Сообщение от Worldmaster Посмотреть сообщение
Либо сразу на форме создайте готовую панельку и разместите на ней нужные компоненты и просто оперируйте свойством Visible.
Я задумывался об этом решении ,если я правильно понял,открывать всегда готовую панель и подгружать сохранённые данные в неё ?

Цитата Сообщение от Worldmaster Посмотреть сообщение
Мануал тут надо было почитать:
Тут я извиняюсь (-1) это я уже перебирал все возможные пути решения..

Цитата Сообщение от Andrey-MSK Посмотреть сообщение
А вы данные в БД сохраняете? Отрицательные индексы присваивает элемент управления UI.
Конечно,Сохранение и загрузка работает отлично и всё через базу данных,а вот про присвоение отрицательных индексов не понял вас

Цитата Сообщение от Andrey-MSK Посмотреть сообщение
Надо было выбирать NET.
Я начал с него,но когда создал в базе данных таблицу мне нужно было перенести базу данных в "Источник данных"- но такого я сделать не смог,честно не могу сказать что он писал там мне,но добавить не мог и была ссылка на мануалы,там таки я не нашёл ответа на свой вопрос в чём заключалась проблема и на просторах интернета нашёл такую же проблему,решением было перейти на NET Framework.
0
 Аватар для Andrey-MSK
3349 / 2235 / 388
Регистрация: 14.08.2018
Сообщений: 7,557
Записей в блоге: 4
07.12.2023, 08:26
Цитата Сообщение от tre1897 Посмотреть сообщение
мне нужно было перенести базу данных в "Источник данных"
Работайте с СУБД руками, ссылку я вам дал, там ничего сложного нет. Зато сможете пользоваться современной версией C#, многими фишками новых библиотек доступа к данным и т.д.

Все эти источники данных и мастера для их создания - пережитки прошлого и работают через одно место.
0
0 / 0 / 0
Регистрация: 27.04.2023
Сообщений: 3
09.12.2023, 21:32  [ТС]
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
Работайте с СУБД руками, ссылку я вам дал, там ничего сложного нет.
Спасибо большое,видите с Visual Studio не работал для как меня как тёмный лес)Буду изучать ваши ссылки!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.12.2023, 21:32
Помогаю со студенческими работами здесь

Нумерация строк в таблице в Word
Здравствуйте, подскажите, есть такой вопрос: Есть таблица в word, она формируется программой, и в шаблоне программы изменить ничего не...

Нумерация строк в таблице и Firefox
Дано: таблица с произвольным количеством строк. Необходимо пронумеровать все строки, кроме тех, которые помечены классом...

Нумерация строк в таблице или запросе
Здравствуйте. Подскажите, пожалуйста. Нужно сделать нумерацию строк по порядку или в таблице или в уже существующем запросе. Не счётчик....

Нумерация в таблице вместо счетчика. Нужен ли запрос на добавление
Доброго времени суток. Почему-то читая, копая, изучая, пришел к выводу, что использовать тип "Счетчик" не очень-то и удобно, а...

Как сделать, чтобы нумерация в таблице ответа начиналась с единицы?
После вычисления матрицы ответ выдаётся с помощью таблицы,но столбцы нумеруются с нуля,подскажите пожалуйста кто сталкивался как сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru