我不是一个c#开发人员,我发现自己正在使用一个巨大的C#应用程序......拥抱..
现在,我正在尝试使用已经创建的更多数据来填充现有的DataGrid'以不同的方式...让我告诉你我的意思。
这是现有DataView的生成方式:
Dim lDataSet As System.Data.DataSet
Dim lSqlCommand As New System.Data.SqlClient.SqlCommand
Dim lConvert As New PeoplePlanner.Common.Data.Convert
lSqlCommand.CommandType = CommandType.StoredProcedure
lsqlCommand.CommandText = "AccessIntegrationEmployeeInboundSearch"
lDataSet = objDatabase.GetDataSet(lSqlCommand)
If Not IsNothing(lDataSet) Then
objDataView = lDataSet.Tables(0).DefaultView
End If
该代码中可能缺少某些内容,但希望它足以获得概述。它使用存储过程(SP)从数据库中获取一些数据,并将结果返回到“数据集”中。然后我们做了objDataView = lDataSet.Tables(0).DefaultView'。
现在我想要合并的新数据'它有相同的字段,但它不是SP的响应,而是我创建的一个操作,它返回一个OnBoardingEmployee列表(让我们这样调用它),如果我想正确显示里面的数据这个列表就是我做的:
Dim lDataView As System.Data.DataView
Dim op = CoreInjector.Inject(Of IGetAllDataHubIncomingMessagesToBeProcess).Execute()
lDataView = Common.Detail.DataGridOperationHelper.ConvertToDataTable(op.OnBoardingEmployee).DefaultView
objDataView = lDataView
其中:
现在我基本上想要合并,加入,添加等等
为第一个表创建的objDataView:
objDataView = lDataSet.Tables(0).DefaultView
我之后创建的那个:
lDataView = Common.Detail.DataGridOperationHelper.ConvertToDataTable(x.OnBoardingEmployee).DefaultView
我该怎么做? :'(
它们具有相同的数据结构或更好地说它们使用相同的视图。
感谢您的帮助:)
答案 0 :(得分:0)
我已经开始工作了:)这是我的实现:
Dim employeeJSONTable As DataTable
Dim employeeExistingTable As DataTable
Dim myDataRow As DataRow
Dim employeeID As Integer
if Request.QueryString.Get("Function") = "HubInbound" then
Dim employeeJSONList = CoreInjector.Inject(Of IGetAllDataHubIncomingMessagesToBeProcess).Execute()
employeeJSONTable = Common.Detail.DataGridOperationHelper.ConvertToDataTable(employeeJSONList.OnBoardingEmployee)
employeeJSONTable.PrimaryKey = New DataColumn(){ employeeJSONTable.Columns("EmployeeID")}
End If
lDataSet = objDatabase.GetDataSet(lSqlCommand)
employeeExistingTable = lDataSet.Tables(0)
For Each row As DataRow In employeeExistingTable.Rows
employeeID = row.Item("EmployeeID")
myDataRow = employeeJSONTable.Rows.Find(employeeID)
if (myDataRow Is Nothing) then
employeeJSONTable.ImportRow(row)
End If
Next row
If Not IsNothing(employeeJSONTable.DefaultView) And Request.QueryString.Get("Function") = "HubInbound" Then
objDataView = employeeJSONTable.DefaultView
Elseif Not IsNothing(lDataSet) Then
objDataView = lDataSet.Tables(0).DefaultView
End if