Help with displays search results in multiple DBGrids

Posted by: Victor.m.charles.civ on 30 May 2020, 4:07 am EST

    • Post Options:
    • Link

    Posted 30 May 2020, 4:07 am EST

    Hi,

    How do I modify the code in Button2 to display search results in Grid2 in 3 separate Grids? For example I would like to display the search results in the following format:

    Columns, 1,2,3 in Grid2 Part A

    Columns, 1,4,5 in Grid2 Part B

    Columns, 1,6,7 in Grid2 Part C

    Code:

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    
        'Set the all rows to visible initially
        For i As Integer = 0 To C1TrueDBGrid1.Splits(0).Rows.Count - 1
        Next
        C1TrueDBGrid3.Rows.Clear()
        Dim b As Boolean() = New Boolean(C1MultiSelect1.SelectedItems.Count - 1) {}
        C1TrueDBGrid4.Rows.Clear()
        Dim c As Boolean() = New Boolean(C1MultiSelect1.SelectedItems.Count - 1) {}
    
        'If any column is selected by C1MultiSelect
        If C1MultiSelect1.SelectedItems.Count > 0 Then
            'Iterate for all rows of main TDB
            For i As Integer = 0 To C1TrueDBGrid1.Splits(0).Rows.Count - 1
                'Iterate for each column selected by C1MultiSelect
                For k As Integer = 0 To C1MultiSelect1.SelectedItems.Count - 1
                    b(k) = False
                    If C1TrueDBGrid1.Columns(C1MultiSelect1.SelectedItems(k).Value.ToString).CellText(i) = C1TrueDBGrid2.Columns(C1MultiSelect1.SelectedItems(k).Value.ToString).CellText(i).ToString Then
                        b(k) = True
                    End If
                Next
    
                'And Filter
                If RadioButton2.Checked Then
                    Dim temp = False
                    For l As Integer = 0 To b.Count - 1
                        If b(l) = False Then
                            temp = True
                            Exit For
                        End If
                    Next
                    If Not temp Then
                        Dim dr As DataRow = Me.C1TrueDBGrid3.NewRow
                        For row As Integer = 0 To C1TrueDBGrid1.Splits(0).DisplayColumns.Count - 1
                            dr(row) = C1TrueDBGrid1.Splits(0).DisplayColumns(row).DataColumn.CellText(i)
                        Next
                        C1TrueDBGrid3.Rows.Add(dr)
                    End If
    
                    If Not temp Then
                        Dim dr As DataRow = Me.C1TrueDBGrid4.NewRow
                        For row As Integer = 0 To C1TrueDBGrid1.Splits(0).DisplayColumns.Count - 1
                            dr(row) = C1TrueDBGrid1.Splits(0).DisplayColumns(row).DataColumn.CellText(i)
                        Next
                        C1TrueDBGrid4.Rows.Add(dr)
                    End If
                End If
    
                'Or Filter
                If RadioButton1.Checked Then
                    Dim temp = True
                    For l As Integer = 0 To b.Count - 1
                        If b(l) = True Then
                            temp = False
                            Exit For
                        End If
                    Next
                    If Not temp Then
                        Dim dr As DataRow = Me.C1TrueDBGrid3.NewRow
                        For row As Integer = 0 To C1TrueDBGrid1.Splits(0).DisplayColumns.Count - 1
                            dr(row) = C1TrueDBGrid1.Splits(0).DisplayColumns(row).DataColumn.CellText(i)
                        Next
                        C1TrueDBGrid3.Rows.Add(dr)
                    End If
                End If
            Next
        End If
    
        ' Display data in GRID2
    
        'Set the all rows to visible initially
        For i As Integer = 0 To C1TrueDBGrid2.Splits(0).Rows.Count - 1
        Next
    
        C1TrueDBGrid4.Rows.Clear()
        'If any column is selected by C1MultiSelect
        If C1MultiSelect1.SelectedItems.Count > 0 Then
            'Iterate for all rows of main TDB
            For i As Integer = 0 To C1TrueDBGrid2.Splits(0).Rows.Count - 1
                'Iterate for each column selected by C1MultiSelect
                For k As Integer = 0 To C1MultiSelect1.SelectedItems.Count - 1
                    b(k) = False
                    For j As Integer = 0 To C1TrueDBGrid2.Splits(0).Rows.Count - 1
                        If C1TrueDBGrid2.Columns(C1MultiSelect1.SelectedItems(k).Value.ToString).CellText(i) = C1TrueDBGrid1.Columns(C1MultiSelect1.SelectedItems(k).Value.ToString).CellText(j).ToString Then
                            b(k) = True
                            Exit For
                        End If
                    Next
                Next
    
                'And Filter
                If RadioButton2.Checked Then
                    'And Filter
                    Dim temp = False
                    For l As Integer = 0 To b.Count - 1
                        If b(l) = False Then
                            temp = True
                            Exit For
                        End If
                    Next
                    If Not temp Then
                        Dim dr As DataRow = Me.C1TrueDBGrid4.NewRow
                        For row As Integer = 0 To C1TrueDBGrid2.Splits(0).DisplayColumns.Count - 1
                            dr(row) = C1TrueDBGrid2.Splits(0).DisplayColumns(row).DataColumn.CellText(i)
                        Next
                        C1TrueDBGrid4.Rows.Add(dr)
                    End If
                End If
    
                'Or Filter
                If RadioButton1.Checked Then
                    Dim temp = True
                    For l As Integer = 0 To b.Count - 1
                        If b(l) = True Then
                            temp = False
                            Exit For
                        End If
                    Next
                    If Not temp Then
                        Dim dr As DataRow = Me.C1TrueDBGrid4.NewRow
                        For row As Integer = 0 To C1TrueDBGrid2.Splits(0).DisplayColumns.Count - 1
                            dr(row) = C1TrueDBGrid2.Splits(0).DisplayColumns(row).DataColumn.CellText(i)
                        Next
                        C1TrueDBGrid4.Rows.Add(dr)
                    End If
                End If
            Next
        End If
    End Sub
    

    Thanks,

    Victor

    How do I modify to GRIDTESTING022520.zip

  • Posted 31 May 2020, 5:05 pm EST

    Hi Victor,

    We have updated the attached sample as per your comments, please go through this and let me know if you need any other help.

    Regards,

    Prabhat Sharma.

    GRIDTESTING022520_mod.zip

Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels