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/Controls.cs

using System;
using System.Windows.Forms;
using System.Collections;
using DevExpress.XtraGrid.Columns;
using DevExpress.Utils.Frames;
using DevExpress.XtraGrid.Views.Grid;

namespace DevExpress.XtraGrid.Demos {
	public class DemosHelper {
		public static void ShowDescriptionForm(System.Drawing.Point location, string description, string caption) {
			DevExpress.XtraEditors.XtraForm frm = new DevExpress.XtraEditors.XtraForm();
			TextBox tb = new TextBox();
			tb.Multiline = true;
			tb.Dock = DockStyle.Fill;
			tb.ScrollBars = ScrollBars.Vertical;
			tb.Text = description;
			tb.SelectionLength = 0;

			frm.Controls.Add(tb);
			frm.FormBorderStyle = FormBorderStyle.FixedToolWindow;
			frm.Text = caption;
			frm.ShowInTaskbar = false;
			frm.StartPosition = FormStartPosition.Manual;
			frm.Location = DevExpress.Utils.ControlUtils.CalcLocation(location, location, frm.Size);
			frm.ShowDialog();
		}
	}
	public class MyGridView : GridView {
		public static bool IsCondition(GridColumn column) {
			if(column == null) return false;
			foreach(StyleFormatCondition c in column.View.FormatConditions) 
				if(c.Column.Equals(column)) return true;
			return false;
		}

		public void SetIcons() {
			foreach(GridColumn column in this.Columns) {
				column.ImageIndex = IsCondition(column) ? 0 : -1;
			}
		}
		protected override void ApplyColumnFilter(DevExpress.XtraGrid.Columns.GridColumn column, FilterItem listBoxItem) {
			if(listBoxItem == null) return;
			if(listBoxItem.Text == Properties.Resources.ConditionsName) {
				ConditionsEditor editor = new ConditionsEditor(column, column.View.GridControl.FindForm());
				editor.ShowDialog();
				SetIcons();
			} else
			base.ApplyColumnFilter(column, listBoxItem);
		}
	}

	public class ItemCondition {
		StyleFormatCondition fcondition;
		public ItemCondition(StyleFormatCondition fcondition) {
			this.fcondition = fcondition;
		}
		public override string ToString() {
			if(fcondition.Condition != FormatConditionEnum.None)
				if(fcondition.Condition == FormatConditionEnum.Between || fcondition.Condition == FormatConditionEnum.NotBetween) {
					return string.Format("{0} {1}, {2}", fcondition.Condition, fcondition.Value1, fcondition.Value2);
				} else
					return string.Format("{0} {1}", fcondition.Condition, fcondition.Value1);
			return string.Format(Properties.Resources.ConditionItemCaption, Index);
		}
        public int Index { get { return fcondition.Column.View.FormatConditions.IndexOf(fcondition); } }
		public StyleFormatCondition Condition { get { return fcondition; }}
	}

    public class ItemExpressionCondition {
        StyleFormatCondition fcondition;
        public ItemExpressionCondition(StyleFormatCondition fcondition) {
            this.fcondition = fcondition;
        }
        public bool IsExpressionCondition {
            get {
                return fcondition.Condition == FormatConditionEnum.Expression;
            }
        }
        public override string ToString() {
            if(fcondition.Expression == string.Empty)
                return string.Format(Properties.Resources.EmptyConditionCaption, Index);
            return fcondition.Expression;
        }
        public int Index { get { return fcondition.Collection.IndexOf(fcondition); } }
        public StyleFormatCondition Condition { get { return fcondition; } }
    }
}