Hendi Hermawan Ответов: 1

Преобразование строки в функцию в VB.NET для динамического добавления строки в datagridview


Привет, Хозяин...

как сохранить строку z можно с помощью функции добавления строки в datagridview. я пробовал разные способы и в конце концов потерпел неудачу.

Я хочу сделать его функцией добавления динамической строки.

Спасибо за помощь...

извините за мой плохой английский

Что я уже пробовал:

Дим З как String ="ДТ.Строки(я)(""Nomor"") ДТ.(""Имя файла my""), рядами(я) ДТ.(""Нама Tercetak"") строки(я), ДТ.Строки(я)(""количество"") ДТ.Ряды(я)(""анализатор""), ДТ.Ряды(я)(""Джумла""), ДТ.Ряды(я)(""статус " оплачен""")"

Для i = 0-DT.строк.Количество-1

DataGridView1.Строк.Добавить(з)

Следующий

Dave Kreskowiak

В этом нет никакого смысла. Что вы пытаетесь сделать с этим кодом?

Как вы закодировали свой пример, Rows. Add () попытается добавить строку. Он не имеет возможности выполнять код в строке.

Hendi Hermawan

есть ли какой-либо способ, которым строка может быть выполнена в rows.add ()?

Я хочу, чтобы строковый sql-запрос, результат которого я храню в строке z, мог выполняться в строках. ()

спасибо за УР справка Дэйв

Dave Kreskowiak

Нет.

И то, что ты говоришь, по-прежнему не имеет никакого смысла.

1 Ответов

Рейтинг:
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

ладно, спасибо за твой совет Мика :), тогда я попробую... :)

Wendelius

Вот немного более полный пример Как привязать данные к элементу управления Windows Forms DataGridView[^]

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.