Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXperience 13.1 Demos/WinForms/VB/GridMainDemo/Modules/
Upload File :
Current File : C:/Users/Public/Documents/DXperience 13.1 Demos/WinForms/VB/GridMainDemo/Modules/Filtering.vb

Imports System.Collections
Imports System.ComponentModel

Namespace DevExpress.XtraGrid.Demos
	''' <summary>
	''' Summary description for Filtering.
	''' </summary>
	Partial Public Class Filtering
		Inherits TutorialControl

		Public Sub New()
			' This call is required by the Windows.Forms Form Designer.
			CreateWaitDialog()
			InitializeComponent()
            TutorialInfo.WhatsThisCodeFile = "VB\GridMainDemo\Modules\Filtering.vb"
			TutorialInfo.WhatsThisXMLFile = "Filtering.xml"
			' TODO: Add any initialization after the InitForm call
		End Sub

		Private Sub Filtering_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
			InitIssueListData(dsIssueList1)
			InitFilter()
			InitEditors()
		End Sub

		Protected Overrides Sub InitXMLData(ByVal ds As DataSet)
			Me.gridControl1.DataSource = ds.Tables("Items")
			Me.repositoryItemLookUpEdit1.DataSource = ds.Tables("Projects")
			Me.repositoryItemLookUpEdit2.DataSource = ds.Tables("Users")
		End Sub

		Private Sub InitFilter()
			gridControl1.ForceInitialize()
		End Sub

		'<ceAllowFilter>
		Private Sub InitDemoFilter()
			gridView1.Columns("FixedDate").FilterInfo = New Columns.ColumnFilterInfo(Columns.ColumnFilterType.Custom, Nothing, "[FixedDate] is not null")
			gridView1.Columns("Status").FilterInfo = New Columns.ColumnFilterInfo(Columns.ColumnFilterType.Custom, Nothing, "[Status] in (2, 3, 4)")
		End Sub
		'</ceAllowFilter>
		Private Sub InitEditors()
			ceAllowFilter.Checked = gridView1.OptionsCustomization.AllowFilter
			ceFilterEditor.Checked = gridView1.OptionsFilter.AllowFilterEditor
			ceAdvDialog.Checked = gridView1.OptionsFilter.UseNewCustomFilterDialog
			ceFilterList.Checked = gridView1.OptionsFilter.AllowMRUFilterList
			ceColumnFilterList.Checked = gridView1.OptionsFilter.AllowColumnMRUFilterList
			InitEnabled()
		End Sub

		Private Sub InitEnabled()
			ceColumnFilterList.Enabled = gridView1.OptionsCustomization.AllowFilter
			ceFilterList.Enabled = ceColumnFilterList.Enabled
			ceAdvDialog.Enabled = ceFilterList.Enabled
			ceFilterEditor.Enabled = ceAdvDialog.Enabled
		End Sub

		Private Sub gridView1_ColumnFilterChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gridView1.ColumnFilterChanged
			gridView1.ExpandAllGroups()
		End Sub

		Private Sub gridView1_PopupMenuShowing(ByVal sender As Object, ByVal e As DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs) Handles gridView1.PopupMenuShowing
			If e.MenuType = DevExpress.XtraGrid.Views.Grid.GridMenuType.Column Then
				For i As Integer = e.Menu.Items.Count - 1 To 0 Step -1
					If e.Menu.Items(i) IsNot Nothing Then
						If e.Menu.Items(i).Caption.IndexOf("Filter") = -1 Then
							e.Menu.Items.RemoveAt(i)
						Else
							e.Menu.Items(i).BeginGroup = False
						End If
					End If
				Next i
			End If
		End Sub

		'<ceAllowFilter>
		Private Sub ceAllowFilter_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ceAllowFilter.CheckedChanged
			gridView1.OptionsCustomization.AllowFilter = ceAllowFilter.Checked
			If Not ceAllowFilter.Checked Then
				gridView1.ClearColumnsFilter()
			Else
				InitDemoFilter()
			End If
			InitEnabled()
		End Sub
		'</ceAllowFilter>
		'<ceFilterEditor>
		Private Sub ceFilterEditor_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ceFilterEditor.CheckedChanged
			gridView1.OptionsFilter.AllowFilterEditor = ceFilterEditor.Checked
		End Sub
		'</ceFilterEditor>
		'<ceAdvDialog>
		Private Sub ceAdvDialog_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ceAdvDialog.CheckedChanged
			gridView1.OptionsFilter.UseNewCustomFilterDialog = ceAdvDialog.Checked
		End Sub
		'</ceAdvDialog>
		'<ceFilterList>
		Private Sub ceFilterList_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ceFilterList.CheckedChanged
			gridView1.OptionsFilter.AllowMRUFilterList = ceFilterList.Checked
		End Sub
		'</ceFilterList>
		'<ceColumnFilterList>
		Private Sub ceColumnFilterList_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ceColumnFilterList.CheckedChanged
			gridView1.OptionsFilter.AllowColumnMRUFilterList = ceColumnFilterList.Checked
		End Sub
		'</ceColumnFilterList>
		'<sbInfo>
		Private Sub sbInfo_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles sbInfo.Click
			Dim stringInfo() As String = {gridView1.FilterPanelText, gridView1.RowCount.ToString(), gridView1.OptionsFilter.ColumnFilterPopupMaxRecordsCount.ToString(), gridView1.OptionsFilter.ColumnFilterPopupRowCount.ToString(), gridView1.OptionsFilter.MRUColumnFilterListCount.ToString(), gridView1.OptionsFilter.MRUFilterListCount.ToString(), gridView1.OptionsFilter.MRUFilterListPopupCount.ToString()}
			CreateInfoForm(stringInfo, imageList2.Images(0), PointToScreen(New Point(sbInfo.Left + sbInfo.Width \ 2, sbInfo.Top + sbInfo.Height \ 2)))
		End Sub

		Private Sub CreateInfoForm(ByVal stringInfo() As String, ByVal img As Image, ByVal p As Point)
			Dim frm As New frmInfo(stringInfo, img)
			frm.Location = New Point(p.X, p.Y)
			frm.ShowDialog()
		End Sub
		'</sbInfo>
	End Class
End Namespace