Рейтинг:
2
Wendelius
Если я правильно вас понял, почему бы не добавить данные в таблицу данных и не привязать эту таблицу данных к datagridview. Например
Dim MyDataTable As DataTable
Dim MyDataColumn As DataColumn
Dim MyDataRow As DataRow
MyDataTable = New DataTable()
MyDataColumn = New DataColumn()
MyDataColumn.DataType = GetType(String)
MyDataColumn.ColumnName = "Name"
MyDataTable.Columns.Add(MyDataColumn)
MyDataRow = MyDataTable.NewRow
MyDataRow("Name") = "Nomor"
MyDataTable.Rows.Add(MyDataRow)
MyDataRow = MyDataTable.NewRow
MyDataRow("Name") = "Tanggal"
MyDataTable.Rows.Add(MyDataRow)
MyDataRow = MyDataTable.NewRow
MyDataRow("Name") = "Nama Tercetak"
MyDataTable.Rows.Add(MyDataRow)
Me.MyDataGridView.DataSource = MyDataTable
Теперь, добавляя новые строки в таблицу данных, они добавляются в datagridview.
Hendi Hermawan
Мика спасибо за УР ответ, но это не мое решение, это мой полный код, я надеюсь, что у понять, с моим код :)
Суб caridata()
ДТ.Понятно()
Звоните koneksi()
Dim SqlQuery As String = "SELECT * FROM" & Label4.Текст и amp; ", где имя файла my - &ГТ;= @dtawal и имя файла my - &ЛТ;= @dtakhir"
С помощью cmd
.Параметры.AddWithValue("@dtawal", формат(DateTimePicker1.Значение "гггг-ММ-ДД"))
.Параметры.AddWithValue("@dtakhir", формат(DateTimePicker2.Значение "гггг-ММ-ДД"))
.Свойства Commandtext = SQL-Запрос
.Подключение = Конн
Конец С
С адаптером
. SelectCommand = cmd
.Заполнить(ДТ)
Конец С
Попробуй
Звоните koneksi()
УМК.Соединение = conn
УМК.CommandType = CommandType. Text
УМК.Свойства commandtext = "выбрать * из tbllaporan2 где [заголовок форма]='" + меня.Текст + "'"
Cari2 = cmd.Метода executereader
Если Cari2. HasRows = True, То
Cari2.Читать()
Dim asalfield, arrow (), union As String
asalfield = Cari2 ("Asal Field")
стрелка = asalfield.Расщеплять("|")
DataGridView1.Строк.Четкий()
С DataGridView1
Для A As Integer = 0 To arrow.Длина - 2
union = union + " dt. Rows (i) (""" + arrow (a) + """),"
Следующий
MsgBox(Len(union))
Конец С
Для i = 0-DT.строк.Количество-1
Dim t = Len (union) - 1
Дим З А строку = корпорация Майкрософт.На языке VisualBasic.Слева(Союз, Т)
'MsgBox(z)
DataGridView1.Строк.Добавить(з)
'ДТ.Ряды(я)("Nomor"), ДТ.Ряды(я)("имя файла my"), ДТ.Ряды(я)("Нама Tercetak"), ДТ.Ряды(я)("кол"), ДТ.Ряды(я)("анализатор"), ДТ.Ряды(я)("Джумла"), ДТ.Ряды(я)("статус " оплачен"")
Следующий
УМК.Параметры.Четкий()
Ещё
Label4.Текст = ""
Конец, Если
Коннектикут.Закрывать()
Поймать ex как исключение
MsgBox(ex. ToString())
Конец Попытки
Конец Подводной Лодки
Wendelius
Поправьте меня, если я ошибаюсь, но вы, кажется, извлекаете данные в одну строковую переменную и используете запятую в качестве разделителя между элементами.
Если это идея, то именно она и вызывает проблемы, и я не вижу никаких причин для такого сложного подхода. Вместо того чтобы использовать одну строку, извлеките данные в таблицу данных с помощью DbDataAdapter.Метод Заполнения (DataTable) (System.Data.Общий)[^] а затем используйте таблицу данных в качестве источника данных, как в приведенном примере.
Hendi Hermawan
да, верно, Мика, я извлекаю данные в одну строковую переменную и использую запятую в качестве разделителя между элементами.
я все еще в замешательстве Мика :)
если это можно решить, то это может быть отличная идея для создания очень динамичного datagridview. всего 1 форма и 1 datagrid будут создавать много отчетов :)
Wendelius
Насколько я вижу ты можешь:
- извлеките нужные вам данные в каждой ситуации
- пусть datagridview создает столбцы или создает их "вручную"
- внесите все необходимые изменения в данные с помощью таблицы данных
Это должно сделать дизайн очень простым, но поскольку я не знаю всей ситуации в целом, вам придется попробовать, соответствует ли он вашим потребностям :)
Hendi Hermawan
ладно, спасибо за твой совет Мика :), тогда я попробую... :)
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.