как связать два или более datatable и отображать в одном gridview в одной таблице результатов

У меня есть одна таблица onetime.itsстолбцы:
columns(masterno,requisitionno,dept,userid,mat_code,material_long_text,prq_no,step1_userid,step1_approvaldate,step2_userid,step2_approvaldate,step3_userid,step3_approvaldate)

Но у меня есть два условия. Мои запросы следующие:

Query1:

Dim dt1 как новый DataTable()

Dim dataadapater1 As New SqlDataAdapter("Select * from copyonetime where step2_userid is null and userid is not null ", New SqlConnection(connectionString))
dataadapater1.Fill(dt1)
GridView1.DataSource = dt1
GridView1.DataBind()

Query2:

Dim dt как новый DataTable()

Dim dataadapater As New SqlDataAdapter("Select * from copyonetime where step3_userid is null and step2_userid is not null ", New SqlConnection(connectionString))
dataadapater.Fill(dt)
GridView1.DataSource = dt
GridView1.DataBind()

Как связать эти обе таблицы и отобразить обе datatable в одном gridview как одну таблицу результатов.

1 ответ

  1. Создайте новый datatable-DT3 и скопируйте данные из первого datatable-DT1 и объедините со вторым datatable-DT2, затем свяжите datatable-DT3 с gridview.

            Dim dt1 As New DataTable
    
            dt1.Columns.Add("Id", GetType(Integer))
            dt1.Columns.Add("FirstName", GetType(String))
            dt1.Columns.Add("LastName", GetType(String))
    
            dt1.Rows.Add(2, "Kevin", "Rodger")
            dt1.Rows.Add(3, "Donald", "Kapp")
            dt1.Rows.Add(4, "Betty", "Hanna")
    
            Dim dt2 As New DataTable
    
            dt2.Columns.Add("Id", GetType(Integer))
            dt2.Columns.Add("FirstName", GetType(String))
            dt2.Columns.Add("LastName", GetType(String))
    
            dt2.Rows.Add(5, "Mike", "McAlister")
            dt2.Rows.Add(6, "Jason", "Peixito")
            dt2.Rows.Add(7, "Michael", "Jhonson")
            dt2.Rows.Add(8, "Josef", "Horn")
    
            Dim dt3 As New DataTable
            dt3.Columns.Add("Id", GetType(Integer))
            dt3.Columns.Add("FirstName", GetType(String))
            dt3.Columns.Add("LastName", GetType(String))
    
            dt3 = dt1.Copy()
            dt3.Merge(dt2)
    
            GridView1.DataSource = dt3
            GridView1.DataBind()