Posted 26 May 2020, 1:42 pm EST
Hello,
I’m using the code in part A to load multiple Grid controls from table by multiple sections, How do I modify the code in Part B to hide or show columns displayed in all 5 Grids using the MultiSelect control? The MultiSelect control contains the columns for all the Grids.
Part A:
If Both.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 + "\AOP40A.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 view.Sort = "SN ASC" C1Screen1.Refresh() C1Screen1.DataSource = view C1Screen2.DataSource = view C1Screen3.DataSource = view C1Screen4.DataSource = view C1Screen5.DataSource = view Dim ic as integer = 0 For ic = 14 To 68 C1Screen1.Splits(0).DisplayColumns(ic).Visible = False Next For ic = 1 To 13 Me.C1Screen2.Splits(0).DisplayColumns(ic).Visible = False Next For ic = 33 To 68 Me.C1Screen2.Splits(0).DisplayColumns(ic).Visible = False Next For ic = 1 To 32 Me.C1Screen3.Splits(0).DisplayColumns(ic).Visible = False Next For ic = 47 To 68 Me.C1Screen3.Splits(0).DisplayColumns(ic).Visible = False Next For ic = 1 To 50 Me.C1Screen4.Splits(0).DisplayColumns(ic).Visible = False Next For ic = 67 To 68 Me.C1Screen4.Splits(0).DisplayColumns(ic).Visible = False Next For ic = 1 To 66 Me.C1Screen5.Splits(0).DisplayColumns(ic).Visible = False Next End If
Part B:
FormLoad Event:
’ Load MultiSelect Controls
For ida As Integer = 0 To C1Screen1.Splits(0).DisplayColumns.Count - 1
C1MultiSelect2.Items.Add(C1Screen1.Splits(0).DisplayColumns(ida).Name)
Next
C1MultiSelect1.TagWrap = True
Private Sub C1MultiSelect2_SelectionChanged(sender As Object, e As EventArgs) Handles C1MultiSelect2.SelectionChanged
For j = 0 To C1MultiSelect2.Items.Count - 1
If Not C1MultiSelect2.Items(j).Selected Then
C1Screen1.Splits(0).DisplayColumns(C1MultiSelect2.Items(j).Value.ToString).Visible = False
Else
C1Screen1.Splits(0).DisplayColumns(C1MultiSelect2.Items(j).Value.ToString).Visible = True
End If
Next
End Sub