Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXperience 13.1 Demos/WinForms/CS/GridMainDemo/Modules/
Upload File :
Current File : C:/Users/Public/Documents/DXperience 13.1 Demos/WinForms/CS/GridMainDemo/Modules/FilterControl.cs

using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraGrid.Views.Base;
using DevExpress.XtraGrid.FilterEditor;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraEditors.Controls;

namespace DevExpress.XtraGrid.Demos {
	/// <summary>
	/// Summary description for FilterControl.
	/// </summary>
	public partial class FilterControl : TutorialControl {
		public FilterControl() {
			// This call is required by the Windows.Forms Form Designer.
			InitializeComponent();
            TutorialInfo.WhatsThisCodeFile = "CS\\GridMainDemo\\Modules\\FilterControl.cs";
            TutorialInfo.WhatsThisXMLFile = "DevExpress.XtraGrid.Demos.CodeInfo.FilterControl.xml";
			// TODO: Add any initialization after the InitForm call

		}
        bool initProperties = false;
		private void FilterControl_Load(object sender, System.EventArgs e) {
			filterControl1.MenuManager = gridControl1.MenuManager;
			InitNWindData();
			gridColumnProduct.FilterInfo = new ColumnFilterInfo("[ProductID] between ('Alice Munton', 'Iqura')");
			gridColumnDiscount.FilterInfo = new ColumnFilterInfo("[Discount] >= 0.05");
			InitOptions();
			InitCustomFilterControl();
			gridColumnImplemented.FilterInfo = new ColumnFilterInfo("[Implemented] >= 50");
			gridColumnSuspended.FilterInfo = new ColumnFilterInfo("[Suspended] = False");
			ResetCustomFilter();
            //<filterControl1>
            /*
            ~Note: the following code is set at design-time and is listed here for educational purposes only.
            filterControl1.SourceControl = gridControl1;
            */
            //</filterControl1>
		}

		
		void InitOptions() {
			initProperties = true;
			ceEmptyValue.Color = filterControl1.AppearanceEmptyValueColor;
			ceFieldName.Color = filterControl1.AppearanceFieldNameColor;
			ceGroupOperator.Color = filterControl1.AppearanceGroupOperatorColor;
			ceOperator.Color = filterControl1.AppearanceOperatorColor;
			ceValue.Color = filterControl1.AppearanceValueColor;
			seLevelIndent.Value = filterControl1.LevelIndent;
			seSeparatorHeight.Value = filterControl1.NodeSeparatorHeight;
			ceGroupCommandsIcon.Checked = filterControl1.ShowGroupCommandsIcon;
			ceOperandTypeIcon.Checked = filterControl1.ShowOperandTypeIcon;
			ceToolTips.Checked = filterControl1.ShowToolTips;
			initProperties = false;
		}
        string tblGrid = "[Order Details]";
        string tblLookUp = "Products";
        protected override void InitMDBData(string connectionString) {
            DataSet ds = new DataSet();
            System.Data.OleDb.OleDbDataAdapter oleDbDataAdapter = new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM " + tblGrid, connectionString);
            oleDbDataAdapter.Fill(ds, tblGrid);
            oleDbDataAdapter = new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM " + tblLookUp, connectionString);
            oleDbDataAdapter.Fill(ds, tblLookUp);

            DataViewManager dvManager = new DataViewManager(ds);
            DataView dv = dvManager.CreateDataView(ds.Tables[tblGrid]);

            gridControl1.DataSource = dv;
            repositoryItemLookUpEdit1.DataSource = ds.Tables[tblLookUp];
        }
        protected override void InitXMLData(string dataFileName) {
            DataSet ds = new DataSet();
            ds.ReadXml(dataFileName);

            gridControl1.DataSource = ds.Tables[tblGrid];
            repositoryItemLookUpEdit1.DataSource = ds.Tables[tblLookUp];
        }
        protected override void InitNWindData() {
            base.InitNWindData();
			gridControl2.DataSource = OutlookData.CreateIssueList();
		}

        //<sbApply>
		private void sbApply_Click(object sender, System.EventArgs e) {
			filterControl1.ApplyFilter();
		}
        //</sbApply>

        //<ceEmptyValue>
		private void ceEmptyValue_EditValueChanged(object sender, System.EventArgs e) {
			if(initProperties) return;
			filterControl1.AppearanceEmptyValueColor = ceEmptyValue.Color;
		}
        //</ceEmptyValue>
        //<ceFieldName>
		private void ceFieldName_EditValueChanged(object sender, System.EventArgs e) {
			if(initProperties) return;
			filterControl1.AppearanceFieldNameColor = ceFieldName.Color;
		}
        //</ceFieldName>
        //<ceGroupOperator>
		private void ceGroupOperator_EditValueChanged(object sender, System.EventArgs e) {
			if(initProperties) return;
			filterControl1.AppearanceGroupOperatorColor = ceGroupOperator.Color;
		}
        //</ceGroupOperator>
        //<ceOperator>
		private void ceOperator_EditValueChanged(object sender, System.EventArgs e) {
			if(initProperties) return;
			filterControl1.AppearanceOperatorColor = ceOperator.Color;
		}
        //</ceOperator>
        //<ceValue>
		private void ceValue_EditValueChanged(object sender, System.EventArgs e) {
			if(initProperties) return;
			filterControl1.AppearanceValueColor = ceValue.Color;
		}
        //</ceValue>
        //<seLevelIndent>
		private void seLevelIndent_EditValueChanged(object sender, System.EventArgs e) {
			if(initProperties) return;
			filterControl1.LevelIndent = Convert.ToInt32(seLevelIndent.Value);
		}
        //</seLevelIndent>
        //<seSeparatorHeight>
		private void seSeparatorHeight_EditValueChanged(object sender, System.EventArgs e) {
			if(initProperties) return;
			filterControl1.NodeSeparatorHeight = Convert.ToInt32(seSeparatorHeight.Value);
		}
        //</seSeparatorHeight>
        //<ceGroupCommandsIcon>
		private void ceGroupCommandsIcon_CheckedChanged(object sender, System.EventArgs e) {
			if(initProperties) return;
			filterControl1.ShowGroupCommandsIcon = ceGroupCommandsIcon.Checked;
		}
        //</ceGroupCommandsIcon>
        //<ceOperandTypeIcon>
		private void ceOperandTypeIcon_CheckedChanged(object sender, System.EventArgs e) {
			if(initProperties) return;
			filterControl1.ShowOperandTypeIcon = ceOperandTypeIcon.Checked;
		}
        //</ceOperandTypeIcon>
        //<ceToolTips>
		private void ceToolTips_CheckedChanged(object sender, System.EventArgs e) {
			if(initProperties) return;
			filterControl1.ShowToolTips = ceToolTips.Checked;
		}
        //</ceToolTips>
		void InitCustomFilterControl() {
			ViewFilterColumnCollection columnCollection = new ViewFilterColumnCollection(gridView2);
			CustomizationFilterColumnCollection(columnCollection);
			filterControl2.SetFilterColumnsCollection(columnCollection, gridControl2.MenuManager);
			filterControl2.SetDefaultColumn(GridCriteriaHelper.GetFilterColumnByGridColumn(filterControl2.FilterColumns, gridColumnImplemented));
			filterControl2.FilterString = gridView2.ActiveFilterString;
		}
        //<sbApplyFilter2>
		private void sbApplyFilter2_Click(object sender, System.EventArgs e) {
			gridView2.ActiveFilterString = filterControl2.FilterString; 
		}
        //</sbApplyFilter2>
        //<sbReset>
		private void sbReset_Click(object sender, System.EventArgs e) {
			ResetCustomFilter();
		}

		void ResetCustomFilter() {
			filterControl2.FilterString = gridView2.ActiveFilterString;
		}
        //</sbReset>
		void CustomizationFilterColumnCollection(ViewFilterColumnCollection columnCollection) {
			columnCollection.RemoveAt(0);
			GridFilterColumn col = columnCollection["Implemented"] as GridFilterColumn;
			RepositoryItemTrackBar tbItem = new RepositoryItemTrackBar();
			tbItem.Maximum = 100;
			tbItem.TickFrequency = 10;
			col.SetRepositoryItem(tbItem);
			col = columnCollection["Suspended"] as GridFilterColumn;
			RepositoryItemImageComboBox icbItem = new RepositoryItemImageComboBox();
			icbItem.SmallImages = imageList1;
			icbItem.Items.Add(new ImageComboBoxItem("Checked", true, 1));
			icbItem.Items.Add(new ImageComboBoxItem("Unchecked", false, 2));
			col.SetRepositoryItem(icbItem);
			col = columnCollection["Subject"] as GridFilterColumn;
			col.SetImage(imageList1.Images[3]);
		}
	}
}