Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
 Аватар для sysrepos
85 / 78 / 31
Регистрация: 08.08.2013
Сообщений: 464
Записей в блоге: 1

Автоматическая нумерация столбца в DataTable

11.01.2017, 15:56. Показов 3858. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть DataTable, в котором первый столбце нумеруется по порядку:
C#
1
2
3
4
5
6
7
8
9
10
11
        tab = new DataTable();
 
            DataColumn my_column;
 
            my_column = my_column = new DataColumn();
            my_column.ColumnName = "Nomer";
            my_column.DataType = System.Type.GetType("System.Int32");
            my_column.AutoIncrement = true;
            my_column.AutoIncrementSeed = 1;
 
            tab.Columns.Add(my_column);

при удалении какой нибудь строки нумерация сбивается.

Вопрос: как правильно сделать, чтобы при удалении строки нумерация оставалась правильной?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.01.2017, 15:56
Ответы с готовыми решениями:

Автоматическая нумерация заголовков столбцов в DataGridView
Нужна помощь. Есть одна форма, в которой вводится информация (допустим некое количество столбцов), в другой форме должна сформироваться...

Автоматическая нумерация ячеек в DataGridView
Доброе время суток! у меня такая проблема: есть DataGridView, которая представляет собой таблицу из двух столбцов. можно ли сделать так,...

автоматическая нумерация
Можно сделать так чтобы в колонке ID, когда добавляешь новые записи автоматически нумеровалось не 1,2,3 ..., а скажем номер который состоит...

5
 Аватар для 1231231ghacking
102 / 106 / 62
Регистрация: 19.11.2015
Сообщений: 380
11.01.2017, 15:59
Конечно,сбивается.
Нужно сделать в событии изменения данных, обновление всех значений в столбце, где идет нумерация
0
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,101
11.01.2017, 19:01
Все зависит от того, что вы с этим номером собираетесь делать
0
 Аватар для kesean
292 / 291 / 108
Регистрация: 04.09.2010
Сообщений: 638
11.01.2017, 20:30
Цитата Сообщение от nedel Посмотреть сообщение
Все зависит от того, что вы с этим номером собираетесь делать
Это самое главное.
sysrepos, Если это только отображение для пользователя, а ID хранится в другом столбце, то воспользуйтесь советом 1231231ghacking. А иначе - прикольно прога работать будет (если будет).
0
 Аватар для sysrepos
85 / 78 / 31
Регистрация: 08.08.2013
Сообщений: 464
Записей в блоге: 1
12.01.2017, 10:38  [ТС]
id храниться в другом столбце. Нумерация отображается только для пользователя.
Подписал метод на событие удаления строк

C#
1
tab.RowDeleted  += new DataRowChangeEventHandler(UpdateNumber1);
работает

Подписал метод на событие добавления строк

C#
1
tab.TableNewRow += new DataTableNewRowEventHandler(UpdateNumber2);

не работает, пишет ошибку "Ошибка 1 Ни одна перегрузка для "UpdateNumber2" не соответствует делегированному "System.Data.DataTableNewRowEventHandler "

Подскажите как исправить?

UpdateNumber1 и UpdateNumber2 - простые методы, которые заново пронумеровывают DataTable
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        public void UpdateNumber1(object sender, DataRowChangeEventArgs e)
        {
            for (int i = 0; i < tab.Rows.Count; i++)
            {
                tab.Rows[i][0] = i + 1;
            }
        }
 
        public void UpdateNumber2(object sender, DataTableNewRowEventHandler e)
        {
            for (int i = 0; i < tab.Rows.Count; i++)
            {
                tab.Rows[i][0] = i + 1;
            }
        }
0
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,101
12.01.2017, 11:23
Цитата Сообщение от sysrepos Посмотреть сообщение
Нумерация отображается только для пользователя.
Я бы вам советовал не добавлять такого столбца в DataTable, а неспосредственно в контрол отображающий ваши данные. Представте себе ситуацию, что пользователь использует сортировку или фильтрацию данных и вся ваша нумерация, привязанная к строке данных перестанет работать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.01.2017, 11:23
Помогаю со студенческими работами здесь

Автоматическая нумерация строк
У меня есть сорок пять строк,нужно что бы каждая строка стояла под своим номером.Строки находятся в TextBox1. Dim Mass(10) As String ...

Автоматическая нумерация в DataReport
Подскажите, пожалуйста, как сделать автонумерацию, в самом отчете DataReport?

Нумерация рисунков автоматическая
Здравствуйте! Делаю отчет(90 страниц). Там много картинок. Если от руки нумеровать их, а потом вдруг понадобится вставить посредине ещё 1...

Автоматическая нумерация страниц
Курил мануалы от самих оконников, там что - то по их руководствам не выходит у меня.

Автоматическая нумерация формул
Для написания работ пользовался в основном TeX, в нем с нумерацией формул не возникало никаких проблем. Сейчас нужно обязательно...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу 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