Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
399 / 318 / 53
Регистрация: 14.08.2014
Сообщений: 1,010

Добавить данные в DataTable

18.05.2017, 12:43. Показов 5312. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всех приветствую!
Помогите разобраться, не могу понять как это работает.

Есть вот такая DataTable.
Она уже сформирована.


Необходимо идти по ней циклом и в желтые ячейки добавлять строку.
Зеленые не трогаем, там уже есть данные.

Попробовал что-то типа этого, чтобы заполнить третий столбец,
VB.NET
1
2
3
4
5
        For i = 0 To _result.DataTablePosts.Rows.Count - 1
            Dim drow As DataRow = _result.DataTablePosts.NewRow()
            drow.ItemArray = {"100500"}
            _result.DataTablePosts.Rows.InsertAt(drow, 2)
        Next
Всё отработало, ошибок не появилось, но и данные неизвестно куда вставились или улетучились
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.05.2017, 12:43
Ответы с готовыми решениями:

Добавить данные из DataTable в таблицу на MS SQL Server
Имеется DataTable с некоторыми данными. Нужно добавить эти данные в таблицу на MS SQL Server. Само собой можно это сделать построчно, но я...

Как загрузить данные из DataGrid в DataTable?
Загрузить данные из Базы Данных в DataTable, а оттуда в DataGrid просто. А как выполнить обратную задачу? То есть, считать последнее...

Отсортировать данные в DataTable по алфавиту по определенному столбцу
Каким образом можно это осуществить?

13
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
18.05.2017, 14:57
а что-то типа
VB.NET
1
Rows(5).Cells(2).Value = "что-то"
не работает?
0
1723 / 1539 / 165
Регистрация: 25.07.2015
Сообщений: 2,640
18.05.2017, 14:59
Дядя Корней, ммм, а что есть DataTable , в смысле -что за элемент ?
Вообще-то в NET DataTable - виртуальная таблица, живущая в памяти и не имеющая визуализации.
Я к тому , что может отплясывать от свойств используемого элемента типа BackColor ?
0
399 / 318 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
18.05.2017, 15:29  [ТС]
Цитата Сообщение от Yury Komar Посмотреть сообщение
не работает?
Не, так не хочет.

Цитата Сообщение от Kulma Посмотреть сообщение
Дядя Корней, ммм, а что есть DataTable , в смысле -что за элемент ?
Вообще-то в NET DataTable - виртуальная таблица,
Так и есть, это виртуальная таблица для DataGridView и DataSource.

При первом проходе цикла заполняются 1,2 и 4 столбец, а 3 и 5 оставляется пустым.
Затем необходим второй цикл и заполнение 3 и 5 столбца.
После второго цикла уже происходит DataGridView1.DataSource = "виртуальная таблица".
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
18.05.2017, 16:42
а почему при первом проходе цикла не заполняете строку полностью?
0
399 / 318 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
18.05.2017, 16:57  [ТС]
Цитата Сообщение от Yury Komar Посмотреть сообщение
а почему при первом проходе цикла не заполняете строку полностью?
Потому что после первого прохода, в источнике откуда берутся данные, происходят изменения и их нужно получить вторым проходом.
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
18.05.2017, 17:06
ну ведь к ячейкам DataTable можно обратиться. сходу не помню порядок (колонка,строка), но как-то
VB.NET
1
DataTable1(колонка,строка) = "что-то"
1
1723 / 1539 / 165
Регистрация: 25.07.2015
Сообщений: 2,640
18.05.2017, 17:09
Вот так воспроизвёл потестить, вроде работает.
Отталкивался от цвета ячейки.
Допилите под себя

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        
        DataGridView1(2, 0).Style.BackColor = Color.Yellow
        For i = 0 To DataGridView1.RowCount - 1
            For j = 0 To DataGridView1.ColumnCount - 1
                If DataGridView1(j, i).Style.BackColor = Color.Yellow Then
                    DataGridView1(j, i).Value = "25"
                End If
 
            Next
        Next
    End Sub
1
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
18.05.2017, 17:13
Kulma, думаю с цветами - был схематичный пример для объяснения сути вопроса, а не фактическое применение.
1
399 / 318 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
18.05.2017, 17:36  [ТС]
Лучший ответ Сообщение было отмечено Yury Komar как решение

Решение

Всё, разобрался.

Вот так работает:
VB.NET
1
DataTable.Rows(1)(2) = "что-то"
Первое значение, это строка по горизонтали.
Второе, это номер столбца.

Жесть, как-то не очевидно))
Подозреваю, что это не единственный способ.
Мало ли кто-то знает или найдет ещё варианты, напишите пожалуйста.

Всем спасибо за помощь.
0
1723 / 1539 / 165
Регистрация: 25.07.2015
Сообщений: 2,640
18.05.2017, 17:37
Гы , во я олень ))))

Если я(теперь, после вразумлений) правильно понял задачу ))),
то можно так же в цикле проверять на пустое значение .
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
18.05.2017, 18:16
Лучший ответ Сообщение было отмечено Yury Komar как решение

Решение

Вообще конечно вариантов несколько:
VB.NET
1
2
3
DataTable.Rows(1).Item(2) = "что-то"
DataTable.Rows(1)(2) = "что-то"
DataTable.Rows(1)("ИмяКолонки") = "что-то"
думаю это не исчерпывающий ответ...
1
399 / 318 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
19.05.2017, 14:18  [ТС]
Yury Komar, спасибо, забрал в копилку.

Не по теме:

До этого как-то не приходилось особо работать с таблицами, поэтому для меня всё это темный лес.
Да я и не NET программист на самом деле)) так, иногда запрягают сделать что-то по мелочам, приходится вот познавать для себя что-то новое.

0
19.05.2017, 14:37

Не по теме:

Дядя Корней, настоятельно рекомендую книгу "Дэвид Сеппа Microsoft ADO.NET".
Она довольно старого года выпуска (2003 кажется) , но до сих пор актуальная по всем
технологиям и объектам ADO.NET. Одна из лучших в своей области, как справочник как раз для подобных
ситуаций.
Есть в свободном доступе для скачивания в инете.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.05.2017, 14:37
Помогаю со студенческими работами здесь

Загрузить данные из БД в DataTable с последующим выводом в DGV
помогите пожалуйста ;) мне нужна чтобы из база данных перенести информацию в datatable а потом отображать эту информацию в dataGridview...

Как добавить строку в DataTable?
Имеется DataTable с именем dt. Мне нужно добавить в нее еще одну строку. dt.Rows.Add(MyRow) Следовательно, перед этим мне надо...

Как добавить столбец в DataTable
если сможете помоги мне, я загрузил проет. я хочу сделать таблице Student Column "CreditsSum" и там нада записать информацию о...

Добавить целую DataTable в базу данных
как ДОБАВИТЬ целую Datatable в базу данних, при этом нужно чтоби все старые данные в бд сохранялись

Как добавить несколько строк в DataTable?
В отдельном классе для "DataTable". Класс "DataTable" // Добавляем несколько строк public DataRow DataRowAddMore() { ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru