How to view Grids record count

Posted by: Victor.m.charles.civ on 26 April 2020, 1:09 pm EST

    • Post Options:
    • Link

    Posted 26 April 2020, 1:09 pm EST

    Hello,

    How do I modify the code below to view the correct record count of the Grid, the code below with rowcount does not work because the number does not change when the record count changes.

    Private Sub Button12_Click(sender As System.Object, e As System.EventArgs) Handles Button12.Click

    Dim FilteredDTA As DataTable

    If RadioButton1.Checked Then

    Dim xyz As String = “”

    If C1TrueDBGrid2.SelectedRows.Count = 0 Then

    For row1 = 0 To C1TrueDBGrid1.SelectedRows.Count - 1

    xyz = xyz + “[” + C1Screen1.Columns(“SN”).Caption + “] LIKE’” + C1TrueDBGrid1.Columns(“CHPT”).CellText(C1TrueDBGrid1.SelectedRows(row1)) + “%’ OR”

    Next

    ElseIf C1TrueDBGrid1.SelectedRows.Count = 0 Then

    For row = 0 To C1TrueDBGrid2.SelectedRows.Count - 1

    Dim str As String

    str = C1TrueDBGrid2.Columns(“COUNTRY”).CellText(C1TrueDBGrid2.SelectedRows(row))

    xyz = xyz + “[” + C1Screen1.Columns(“COUNTRY”).Caption + “]='” + str + “’ OR”

    Next

    Else

    For row = 0 To C1TrueDBGrid2.SelectedRows.Count - 1

    Dim str As String

    str = C1TrueDBGrid2.Columns(“COUNTRY”).CellText(C1TrueDBGrid2.SelectedRows(row))

    For row1 = 0 To C1TrueDBGrid1.SelectedRows.Count - 1

    xyz = xyz + “[” + C1Screen1.Columns(“COUNTRY”).Caption + “]='” + str + “’ AND [” + C1Screen1.Columns(“SN”).Caption + “] LIKE’” + C1TrueDBGrid1.Columns(“CHPT”).CellText(C1TrueDBGrid1.SelectedRows(row1)) + “%’ OR”

    Next

    Next

    End If

    xyz = xyz.Remove(xyz.Length - 3, 3)

    Console.WriteLine(xyz)

    fsLinkTest = New System.IO.FileStream(Application.StartupPath + “\AOP40.xml”, IO.FileMode.Open)

    dtsetLinkTest.Clear()

    dtsetLinkTest.ReadXml(fsLinkTest)

    fsLinkTest.Close()

    FilteredDTA = dtsetLinkTest.Tables(0)

    Dim view As DataView

    view = New DataView(FilteredDTA)

    view.RowFilter = xyz

    C1Screen1.Refresh()

    C1Screen1.DataSource = view

    End If

    If RadioButton2.Checked Then

    Dim xyz As String = “”

    If C1TrueDBGrid1.SelectedRows.Count = 0 Then

    For row = 0 To C1TrueDBGrid2.SelectedRows.Count - 1

    Dim str As String

    str = C1TrueDBGrid2.Columns(“COUNTRY”).CellText(C1TrueDBGrid2.SelectedRows(row))

    xyz = xyz + “[” + C1Screen1.Columns(“COUNTRY”).Caption + “]='” + str + “’ OR”

    Next

    Else

    For row = 0 To C1TrueDBGrid2.SelectedRows.Count - 1

    For row1 = 0 To C1TrueDBGrid1.SelectedRows.Count - 1

    Dim str As String

    str = C1TrueDBGrid2.Columns(“COUNTRY”).CellText(C1TrueDBGrid2.SelectedRows(row))

    xyz = xyz + “[” + C1Screen1.Columns(“COUNTRY”).Caption + “]='” + str + “’ AND [” + C1Screen1.Columns(“SN”).Caption + “] LIKE’” + C1TrueDBGrid1.Columns(“CHPT”).CellText(C1TrueDBGrid1.SelectedRows(row1)) + “%’ OR”

    Next

    Next

    End If

    xyz = xyz.Remove(xyz.Length - 3, 3)

    Console.WriteLine(xyz)

    fsLinkTest = New System.IO.FileStream(Application.StartupPath + “\AOP40.xml”, IO.FileMode.Open)

    dtsetLinkTest.Clear()

    dtsetLinkTest.ReadXml(fsLinkTest)

    fsLinkTest.Close()

    FilteredDTA = dtsetLinkTest.Tables(0)

    Dim view As DataView

    view = New DataView(FilteredDTA)

    view.RowFilter = xyz

    C1Screen1.Refresh()

    C1Screen1.DataSource = view

    Dim visible = True

    For row = 0 To C1Screen1.Splits(0).Rows.Count - 1

    visible = False

    For row1 = 0 To C1Screen1.Splits(0).Rows.Count - 1

    If row <> row1 Then

    If C1Screen1.Columns(“SN”).CellValue(row) = C1Screen1.Columns(“SN”).CellValue(row1) AndAlso C1Screen1.Columns(“COUNTRY”).CellValue(row) <> C1Screen1.Columns(“COUNTRY”).CellValue(row1) Then

    visible = True

    Exit For

    End If

    End If

    Next

    C1Screen1.Splits(0).Rows(row).Visible = visible

    Next

    End If

    'View Grid

    If C1Screen1.RowCount <> 0 Then

    C1Screen1.Visible = True

    TextBox1.Text = C1Screen1.RowCount '*****Does not work

    End If

    End Sub

  • Posted 27 April 2020, 4:51 am EST

    Hi Victor,

    >>How do I modify the code below to view the correct record count of the Grid, the code below with row count does not work because the number does not change when the record count changes.

    To achieve this use the code snippet given below:

    From:

    If C1Screen1.RowCount <> 0 Then
    C1Screen1.Visible = True
    TextBox1.Text = C1Screen1.RowCount '*****Does not work
    End If
    

    To:

    If C1Screen1.Splits(0).Rows.Count <> 0 Then
    C1Screen1.Visible = True
    TextBox1.Text = C1Screen1.Splits(0).Rows.Count
    End If
    

    Regards,

    Prabhat Sharma.

  • Posted 28 April 2020, 6:34 pm EST

    Hello Prabhat,

    Please see enclosed screenshot using same sample project, when using the code I received, 8 records shows in the textbox but only 4 records are on the Grid. It does not appear to work for the “Matching Records Only” option.

    Thanks,

    Victor

    Error_Slide_042820.zip

  • Posted 29 April 2020, 7:55 am EST

    Hi Victor,

    You can use the code snippet given below to get the visible rows in the TrueDBGrid:

    Dim count As Integer = 0
            For row = 0 To C1TrueDBGrid3.Splits(0).Rows.Count - 1
                If C1TrueDBGrid3.Splits(0).Rows(row).Visible Then
                    count = count + 1
                End If
            Next
    TextBox1.Text = count
    

    I hope it helps.

    Regards,

    Prabhat Sharma.

  • Posted 29 April 2020, 12:18 pm EST

    Thank You.

Need extra support?

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

Learn More

Forum Channels