Advertisement
bluebunny72

DataView filter example

Jun 15th, 2017
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 7.45 KB | None | 0 0
  1.     Public Function FilterClicked() As Integer
  2.  
  3.         Dim startDateString As String = Nothing
  4.         Dim startDateCombo As String = ThisForm.Components(Comps.StartDateCombo).Value
  5.         If (startDateCombo <> "") Then
  6.             Dim startDateDate As Date
  7.             If (Date.TryParse(startDateCombo, startDateDate) = False) Then
  8.                 Return -1
  9.             Else
  10.                 startDateString = startDateDate.ToString("yyyy-MM-dd")
  11.             End If
  12.         End If
  13.  
  14.  
  15.         Dim endDateString As String = Nothing
  16.         Dim endDateCombo As String = ThisForm.Components(Comps.EndDateCombo).Value
  17.         If (endDateCombo <> "") Then
  18.             Dim endDateDate As Date
  19.             If (Date.TryParse(endDateCombo, endDateDate) = False) Then
  20.                 Return -1
  21.             Else
  22.                 endDateString = endDateDate.ToString("yyyy-MM-dd")
  23.             End If
  24.         End If
  25.  
  26.  
  27.  
  28.         Dim sb As New Text.StringBuilder
  29.  
  30.  
  31.         ' Date filter
  32.         If (startDateString IsNot Nothing) AndAlso (endDateString IsNot Nothing) Then
  33.             sb.AppendFormat("TransDate BETWEEN '{0}' AND '{1}'", startDateString, endDateString)
  34.         ElseIf (startDateString IsNot Nothing) Then
  35.             sb.AppendFormat("TransDate >= '{0}'", startDateString)
  36.         ElseIf (endDateString IsNot Nothing) Then
  37.             sb.AppendFormat("TransDate <= '{0}'", endDateString)
  38.         End If
  39.  
  40.  
  41.         ' Job filter
  42.         Dim jobStart As String = ThisForm.Variables(Vars.JobStartVar).Value
  43.         Dim jobEnd As String = ThisForm.Variables(Vars.JobEndVar).Value
  44.  
  45.         If (jobStart <> "") AndAlso (jobEnd <> "") Then
  46.  
  47.             If (jobStart = jobEnd) Then
  48.                 sb.AppendFormat(" AND Job = '{0}'", jobStart)
  49.  
  50.  
  51.                 Dim suffixStartString As String = ThisForm.Variables(Vars.SuffixStartVar).Value
  52.                 Dim suffixEndString As String = ThisForm.Variables(Vars.SuffixEndVar).Value
  53.  
  54.                 Dim suffixStartInteger As Integer = If(suffixStartString = "", 0, CInt(suffixStartString))
  55.                 Dim suffixEndInteger As Integer = If(suffixEndString = "", 0, CInt(suffixEndString))
  56.  
  57.                 ' integers, no single quotes!
  58.                 sb.AppendFormat(" AND Suffix BETWEEN {0} AND {1}", suffixStartInteger, suffixEndInteger)
  59.             Else
  60.                 sb.AppendFormat(" AND Job BETWEEN '{0}' AND '{1}'", jobStart, jobEnd)
  61.             End If
  62.  
  63.         ElseIf (jobStart <> "") Then
  64.             sb.AppendFormat(" AND Job >= '{0}'", jobStart)
  65.         ElseIf (jobEnd <> "") Then
  66.             sb.AppendFormat(" AND Job <= '{0}'", jobEnd)
  67.         End If
  68.  
  69.  
  70.  
  71.         ' Item filter
  72.         Dim itemStart As String = ThisForm.Variables(Vars.ItemStartVar).Value
  73.         Dim itemEnd As String = ThisForm.Variables(Vars.ItemEndVar).Value
  74.  
  75.         If (itemStart <> "" AndAlso itemEnd <> "") Then
  76.             sb.AppendFormat(" AND Item BETWEEN '{0}' AND '{1}'", itemStart, itemEnd)
  77.         ElseIf itemStart <> "" Then
  78.             sb.AppendFormat(" AND Item >= '{0}'", itemStart)
  79.         ElseIf itemEnd <> "" Then
  80.             sb.AppendFormat(" AND Item <= '{0}'", itemEnd)
  81.         End If
  82.  
  83.  
  84.         ' Project filter
  85.         Dim projNumStart As String = ThisForm.Variables(Vars.ProjNumStartVar).Value
  86.         Dim projNumEnd As String = ThisForm.Variables(Vars.ProjNumEndVar).Value
  87.  
  88.         If (projNumStart <> "" AndAlso projNumEnd <> "") Then
  89.             sb.AppendFormat(" AND ProjNum BETWEEN '{0}' AND '{1}'", projNumStart, projNumEnd)
  90.         ElseIf projNumStart <> "" Then
  91.             sb.AppendFormat(" AND ProjNum >= '{0}'", projNumStart)
  92.         ElseIf projNumEnd <> "" Then
  93.             sb.AppendFormat(" AND ProjNum <= '{0}'", projNumEnd)
  94.         End If
  95.  
  96.  
  97.         ' TaskNum filter...
  98.         If (projNumStart = projNumEnd) Then
  99.  
  100.             Dim taskNumStart As String = ThisForm.Variables(Vars.TaskNumStartVar).Value
  101.             Dim taskNumEnd As String = ThisForm.Variables(Vars.TaskNumEndVar).Value
  102.  
  103.             ' TaskNum type INT, no single quotes needed
  104.             If (taskNumStart <> "" AndAlso taskNumEnd <> "") Then
  105.                 sb.AppendFormat(" AND TaskNum BETWEEN {0} AND {1}", taskNumStart, taskNumEnd)
  106.             ElseIf taskNumStart <> "" Then
  107.                 sb.AppendFormat(" AND TaskNum >= {0}", taskNumStart)
  108.             ElseIf taskNumEnd <> "" Then
  109.                 sb.AppendFormat(" AND TaskNum <= {0}", taskNumEnd)
  110.             End If
  111.         End If
  112.  
  113.  
  114.         ' WorkCenter filter...
  115.         Dim wcStart As String = ThisForm.Variables(Vars.WorkCenterStartVar).Value
  116.         Dim wcEnd As String = ThisForm.Variables(Vars.WorkCenterEndVar).Value
  117.  
  118.         If (wcStart <> "" AndAlso wcEnd <> "") Then
  119.             sb.AppendFormat(" AND Wc BETWEEN '{0}' AND '{1}'", wcStart, wcEnd)
  120.         ElseIf wcStart <> "" Then
  121.             sb.AppendFormat(" AND Wc >= '{0}'", wcStart)
  122.         ElseIf wcEnd <> "" Then
  123.             sb.AppendFormat(" AND Wc <= '{0}'", wcEnd)
  124.         End If
  125.  
  126.  
  127.         ' CostCode filter...
  128.         Dim costCodeStart As String = ThisForm.Variables(Vars.CostCodeStartVar).Value
  129.         Dim costCodeEnd As String = ThisForm.Variables(Vars.CostCodeEndVar).Value
  130.  
  131.         If costCodeStart <> "" AndAlso costCodeEnd <> "" Then
  132.             sb.AppendFormat(" AND CostCode BETWEEN '{0}' AND '{1}'", costCodeStart, costCodeEnd)
  133.         ElseIf costCodeStart <> "" Then
  134.             sb.AppendFormat(" AND CostCode >= '{0}'", costCodeStart)
  135.         ElseIf costCodeEnd <> "" Then
  136.             sb.AppendFormat(" AND CostCode <= '{0}'", costCodeEnd)
  137.         End If
  138.  
  139.  
  140.         ' Shift filter...
  141.         Dim shiftStart As String = ThisForm.Variables(Vars.ShiftStartVar).Value
  142.         Dim shiftEnd As String = ThisForm.Variables(Vars.ShiftEndVar).Value
  143.  
  144.         If (shiftStart <> "" AndAlso shiftEnd <> "") Then
  145.             sb.AppendFormat(" AND Shift BETWEEN '{0}' AND '{1}'", shiftStart, shiftEnd)
  146.         ElseIf shiftStart <> "" Then
  147.             sb.AppendFormat(" AND Shift >= '{0}'", shiftStart)
  148.         ElseIf shiftEnd <> "" Then
  149.             sb.AppendFormat(" AND Shift <= '{0}'", shiftEnd)
  150.         End If
  151.  
  152.  
  153.         ' Indirect filter...
  154.         Dim indirectStart As String = ThisForm.Variables(Vars.IndCodeStartVar).Value
  155.         Dim indirectEnd As String = ThisForm.Variables(Vars.IndCodeEndVar).Value
  156.  
  157.         If (indirectStart <> "" AndAlso indirectEnd <> "") Then
  158.             sb.AppendFormat(" AND IndCode BETWEEN '{0}' AND '{1}'", indirectStart, indirectEnd)
  159.         ElseIf indirectStart <> "" Then
  160.             sb.AppendFormat(" AND IndCode >= '{0}'", indirectStart)
  161.         ElseIf indirectEnd <> "" Then
  162.             sb.AppendFormat(" AND IndCode <= '{0}'", indirectEnd)
  163.         End If
  164.  
  165.         ' Deptartment filter...
  166.         Dim deptStart As String = ThisForm.Variables(Vars.DeptStartVar).Value
  167.         Dim deptEnd As String = ThisForm.Variables(Vars.DeptEndVar).Value
  168.  
  169.         If (deptStart <> "" AndAlso deptEnd <> "") Then
  170.             sb.AppendFormat(" AND Dept BETWEEN '{0}' AND '{1}'", deptStart, deptEnd)
  171.         ElseIf deptStart <> "" Then
  172.             sb.AppendFormat(" AND Dept >= '{0}'", deptStart)
  173.         ElseIf deptEnd <> "" Then
  174.             sb.AppendFormat(" AND Dept <= '{0}'", deptEnd)
  175.         End If
  176.  
  177.  
  178.         ThisForm.Variables(Vars.SSSWBSuperGridDataViewFilter).Value = sb.ToString
  179.         ThisForm.Variables(Vars.SSSWBSuperGridMode).Value = "View"
  180.         ThisForm.Variables(Vars.SSSWBSuperGridLayoutName).Value = ""
  181.  
  182.         Return 0
  183.     End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement