У меня есть форма, содержащая 360 строк данных. Мне нужно добавить эти данные в datatable. Но если есть дубликат, он должен только обновлять строку, содержащую эти данные. И количество дубликатов может варьироваться от 0 до 180. Можно ли это сделать в vb.net 3.5? Если да, то как?, добавляя переменное число строк в datatable
ответ
Вы можете использовать метод DataTable.LoadDataRow.
Для этого требуется определить первичный ключ таблицы.
Первичный ключ используется методом для идентификации повторяющихся строк
Dim dt = new DataTable("test")
Dim col = dt.Columns.Add("ID", Type.GetType("System.Int32"))
col.AllowDbNull = false
col.Unique = true
dt.Columns.Add("Name", Type.GetType("System.String"))
..... ' and so on '
' now the primary key
Dim columns(1) As DataColumn
columns(0) = dt.Columns("ID")
dt.PrimaryKey = columns
' And then the LoadDataRow
Dim newRow As Object() = New Object(1) {}
newRow(0) = Convert.ToInt32(TextBox1.Text)
newRow(1) = TextBox2.Text
dt.LoadDataRow(newRow, True)
....
Если один или несколько из вашего TextBox1.Text содержит тот же идентификатор, предыдущие строки будут обновлены с новыми значениями в противном случае новой строки будет добавлен к DataTable
EDIT
Проводы свой комментарий о операции на сумму в столбце Количество, то вы должны изменить подход (конечно, добавить третий столбец с числовым типом desidered)
' Search if the ID is already present '
Dim rows = dt.Select("ID=" & TextBox1.Text)
if rows.Length == 0 Then
' No ID found, add a newrow to the datatable'
Dim newRow = dt.NewRow()
newRow(0) = Convert.ToInt32(TextBox1.Text)
newRow(1) = TextBox2.Text
newRow(2) = Convert.ToInt32(TextBox3.Text)
dt.Rows.Add(newRow)
Else
' ID found, the Rows array should be of just one row and the second column incremented of the quantity '
rows(0)(2) += Convert.ToInt32(TextBox3.Text)
End If
EDIT
Dim dt As New DataTable
'adding columns to the datatble'
dt.Columns.Add("Operation")
dt.Columns.Add("folder")
' This is a numeric column, so tell it to the framework
dt.Columns.Add("quantity", Type.GetType("System.Int32"))
'adding datarows
' The search is on a string column, so enclose in single quotes
' I assume that a 'folder' names doesn't contains a single quote
Dim rows = dt.Select("folder='" & L1F1.Text + "'")
If rows.Length = 0 Then
Dim newRow = dt.NewRow()
newRow(0) = L1Ob1.Text
newRow(1) = L1F1.Text
newRow(2) = Convert.ToInt32(L1Qty1.Text)
dt.Rows.Add(newRow)
Else
rows(0)(2) += Convert.ToInt32(L1Qty1.Text)
End If
и что мне делать, если я хотел подвести итоги? – SaurabhSuman
Какие значения? Это всего лишь псевдокод, основанный на вашем вопросе. Я не могу быть более точным, не зная вашей структуры данных – Steve
уверен ... у меня есть 3 столбца ... Идентификатор, имя и количество, которое является целым числом ... Итак, если имя повторялось более одного раза, количества нужно подвести ... Возможно ли это сделать? – SaurabhSuman
- 1. Вставьте переменное число строк
- 2. Android, добавляя переменное число кликов в текстовое окно
- 3. Как удалить переменное число строк
- 4. PIVOTing переменное число строк в столбцах
- 5. Вставить переменное число строк в dataframe
- 6. Как суммировать переменное число строк в столбце?
- 7. Как удалить переменное число строк в mysql?
- 8. Настройка UITextView height на переменное число строк
- 9. Vim найти и заменить переменное число строк
- 10. переменное число переменных в C++
- 11. Сделать переменное число столбцов в DataTables
- 12. Добавить переменное число XElements
- 13. Группа переменное число строк, столбцов в улей таблице
- 14. SQL запрос, чтобы объединить переменное число строк в одну строку
- 15. T-SQL: преобразовать переменное число строк в столбцы
- 16. strsplit в переменное число столбцов
- 17. Вставить переменное число строк, начинающихся с указанной пользователем строки
- 18. раскраски строк, добавляя текст
- 19. Как создать переменное число переменных?
- 20. Как установить переменное число параметров
- 21. получить переменное число из sql
- 22. переменное время статическое число + переменная
- 23. Добавляя строку в массив строк (Matlab)
- 24. RestTemplate и переменное число переменных
- 25. Создать переменное число std :: threads
- 26. Latex \ newcommand переменное число аргументов
- 27. Вызывать переменное число функций параллельно?
- 28. Как читать переменное число выходов
- 29. Неверное переменное число передается через
- 30. Добавляя строку в список строк
Что такое "строка данных", вы пробовали что-нибудь? –
@Tim Schmelter: строка данных - это 3 столбца данных, один из которых имеет для меня первостепенное значение, в том смысле, что мне не нужны его дубликаты. – SaurabhSuman