Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
 Аватар для Stromb
13 / 13 / 0
Регистрация: 11.09.2013
Сообщений: 11

TextBox > DataGridView > XML

11.09.2013, 04:03. Показов 2800. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста, как можно ввести значения в DataGridView только с помощью TextBox и кнопки. Чтобы при нажатии Button одновременно добавлялось значение в DataGridView и сразу же сохранялось в XML файл.

Добавлено через 18 минут
Вот пример программы. На форме DataGridView, TextBox и Button.

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Public Class Form1
    Dim dt As New DataTable ' - создание объекта таблица данных
    Dim ds As New DataSet ' - создание объекта набор данных
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
        If IO.File.Exists("D:\Visual Studio 2010\DataGridView\tabl.xml") = False Then
 
            ' Если XML-файла НЕТ:
            DataGridView1.DataSource = dt
            ' Заполнение шапки таблицы:
            dt.Columns.Add("Колонка")
 
            ' Добавить объект dt в DataSet:
            ds.Tables.Add(dt)
 
        Else ' Если XML-файл ЕCТЬ:
            ds.ReadXml("С:\tabl.xml")
            DataGridView1.DataMember = "Название таблицы"
            DataGridView1.DataSource = ds
 
        End If
    End Sub
 
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
        DataGridView1.Rows.Add(TextBox1.Text) 'По-моему вся проблема в этой строчке
 
        dt.TableName = "Название таблицы"
        ds.WriteXml("С:\tabl.xml")
 
    End Sub
 
End Class
При добавлении строчки "DataGridView1.Rows.Add(TextBox1.Tex t)" постоянно происходит ошибка "Строки нельзя программным способом добавить в коллекцию строк DataGridView, если элемент управления привязан к данным." Можно ли как-то это исправить?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.09.2013, 04:03
Ответы с готовыми решениями:

Передача из DataGridView в textbox с базой из xml
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...

TextBox->Xml->TextBox
Всем доброго времени суток. Есть вопросик. Имеется TextBox и xml. Как сделать чтобы при вводе в TextBox "После нажимаем...

Из datagridview в textbox
Всем привет. Возникла проблема: В datagridview есть Колонка с такими значениями. Готово Не Готово Готово Готово Рано ...

5
 Аватар для Евгений12
60 / 58 / 10
Регистрация: 16.02.2013
Сообщений: 146
11.09.2013, 10:28
Обрамите код тегами
Pascal
1
[VBNET] тут ваш код [/VBNET]
2
118 / 107 / 17
Регистрация: 10.02.2013
Сообщений: 278
12.09.2013, 11:51
ты же привязал dt к DataGridView1, поэтому добавляй в dt
VB.NET
1
dt.Rows.Add(TextBox1.Text)
и еще в коде у тебя
VB.NET
1
ds.WriteXml("С:\tabl.xml")
буква "С" русская, может ошибка вылететь.
0
 Аватар для Stromb
13 / 13 / 0
Регистрация: 11.09.2013
Сообщений: 11
12.09.2013, 13:55  [ТС]
Спасибо Leksar за

dt.Rows.Add(TextBox1.Text)

всё теперь добавляется и сохраняется, но при повторном запуске и загрузке всех сохранённых данных из созданного XML файла, эта проблема повторяется.

Да, и ещё я неправильно отредактировал путь, так как копировал текст из своей программы. Нужно было вместо
If IO.File.Exists("C:\Visual Studio 2010\DataGridView\tabl.xml") = False Then, путь "C\tabl.xml"

Добавлено через 15 минут
Пишет "Длина входного массива больше числа столбцов в этой таблице."
0
118 / 107 / 17
Регистрация: 10.02.2013
Сообщений: 278
12.09.2013, 14:06
думаю вот так будет лучше
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Public Class Form1
    Dim dt As New DataTable
    Dim ds As New DataSet
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If IO.File.Exists("C:\tabl.xml") = False Then
            dt.TableName = "Название таблицы"
            dt.Columns.Add("Колонка")
            DataGridView1.DataSource = dt
            ds.Tables.Add(dt)
        Else
            ds.ReadXml("C:\tabl.xml")
            dt = ds.Tables(0)
            DataGridView1.DataSource = dt
        End If
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        dt.Rows.Add(TextBox1.Text)
        ds.WriteXml("C:\tabl.xml")
    End Sub
End Class
1
 Аватар для Stromb
13 / 13 / 0
Регистрация: 11.09.2013
Сообщений: 11
12.09.2013, 14:11  [ТС]
Всё супер, всё работает! Огромное спасибо Leksar!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.09.2013, 14:11
Помогаю со студенческими работами здесь

Из textBox в dataGridview
в тексбокс я вожу данные , при нажатие кнопки эти данные переходят в определенный столбец таблицы dataGridview private void...

из DataGridView B textBox
Подскажите пожалуйста, как можно из ячеек DataGridView всю выделенную строку переписать в текстбоксы, заранее благодарю...кретиню

Из textbox в DataGridView
Есть два текстбокса, как через баттон их записати в датагрид?

Из datagridview в textbox
Добрый всем день! Подскажите, как можно сделать в wpf, чтобы при двойном нажатии на какой-нибудь строке таблицы datagridview (данные туда...

Datagridview в textbox
Всем привет! Необходимо чтобы содержимое из dataGridView1 отображало в textBox. Выдает ошибку Additional information: Входная строка...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru