У меня есть DataTable с тремя столбцамиDataTable в строку
Id name value value1
Я хочу создать строку из этого DataTable, так что
- каждая строка в DataTable создаст две строки
- имя будет стать одним рядом
- значение 1 станет другим рядом
Если имя и стоимость 1 подобно затем включает в себя значение 1 только в противном случае включает в себя как имя и value1 (это делается)
Если имя одной строки похоже на имя в любой другой строке, а затем добавить следующий текст Infront обоего повторяющихся строк в строке
Id похож на Id
Это то, что я написал до сих пор:
Public Function GetGazetteer(dataTable As DataTable) As String
Dim processedData = New List(Of String)
Dim rowData = String.Empty
Dim results = New StringBuilder()
For Each row As DataRow In dataTable.Rows
processedData.Add(row(1))
If row(3) <> row(1) Then
processedData.Add(row(3))
End If
Next
For Each row As String In processedData
rowData = row
If rowData.Trim <> String.Empty Then
If (processedData.Where(Function(d) d = rowData).Count = 1) Then
results.Append(rowData)
results.Append("<br />")
Else
results.Append(rowData)
results.Append("*")
results.Append("<br />")
End If
End If
Next
Return results.ToString
End Function
В настоящее время *
добавляется (пожалуйста, предложите, как добавить указанный текст.)
Вот пример
id name value value1
1 this is string 1 abc This is sample
2 this is string 2 abc this is string 2
3 this is string 3 abc this is string 4
4 this is string 3 abc asasaasd
Здесь желаемый выходного
this is string 1
This is sample
this is string 2
*3 is duplicate of 4* this is string 3
this is string 4
*4 is duplicate of 3* this is string 3
asasaasd
Дайте некоторые значения таблиц и итоговые значения строк вывода –
@NikhilAgrawal См. Обновленный вопрос – DotnetSparrow