public static class ControlHelper {
#region Set Required Format
/// <summary>
/// Set Layout Control Item required format.
/// </summary>
/// <param name="itemControl">Layout Control Item</param>
public static void SetRequiredFormat(this LayoutControlItem itemControl) {
if (itemControl == null)
throw new ArgumentNullException("itemControl");
itemControl.AppearanceItemCaption.ForeColor = Color.Red;
itemControl.AppearanceItemCaption.Options.UseForeColor = true;
}
#endregion
#region Set DateEdit Format
/// <summary>
/// Set date edit format.
/// </summary>
/// <param name="dEdit">Date Edit</param>
/// <param name="formatString">Date Time format string</param>
public static void SetDateFormat(this DateEdit dEdit, string formatString, bool timeEditing) {
if (dEdit == null)
throw new ArgumentNullException("dEdit");
if (String.IsNullOrEmpty(formatString))
throw new ArgumentNullException("formatString");
((ISupportInitialize)dEdit.Properties).BeginInit();
dEdit.Properties.CalendarTimeEditing = timeEditing ? DefaultBoolean.True : DefaultBoolean.Default;
dEdit.Properties.Mask.EditMask = formatString;
dEdit.Properties.DisplayFormat.FormatString = formatString;
dEdit.Properties.DisplayFormat.FormatType = FormatType.DateTime;
dEdit.Properties.EditFormat.FormatString = formatString;
dEdit.Properties.EditFormat.FormatType = FormatType.DateTime;
dEdit.Properties.MinValue = DateTime.Parse("1999-01-01 00:00:00");
dEdit.Properties.MaxValue = DateTime.Parse("9999-12-31 23:59:59");
dEdit.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.DateTime;
((ISupportInitialize)dEdit.Properties).EndInit();
}
/// <summary>
/// Set date edit format.
/// </summary>
/// <param name="dEdit">Date Edit</param>
/// <param name="formatString">Date Time format string</param>
public static void SetDateFormat(this RepositoryItemDateEdit dEdit, string formatString, bool timeEditing) {
if (dEdit == null)
throw new ArgumentNullException("dEdit");
if (String.IsNullOrEmpty(formatString))
throw new ArgumentNullException("formatString");
((ISupportInitialize)dEdit).BeginInit();
dEdit.CalendarTimeEditing = timeEditing ? DefaultBoolean.True : DefaultBoolean.Default;
dEdit.Mask.EditMask = formatString;
dEdit.DisplayFormat.FormatString = formatString;
dEdit.DisplayFormat.FormatType = FormatType.DateTime;
dEdit.EditFormat.FormatString = formatString;
dEdit.EditFormat.FormatType = FormatType.DateTime;
dEdit.MinValue = DateTime.Parse("1999-01-01 00:00:00");
dEdit.MaxValue = DateTime.Parse("9999-12-31 23:59:59");
dEdit.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.DateTime;
((ISupportInitialize)dEdit).EndInit();
}
#endregion
#region Set SpinEdit Format
#region SpinEdit
/// <summary>
/// Set SpinEdit integer format.
/// </summary>
/// <param name="editControl">SpinEdit Control</param>
/// <param name="minValue">Min Value</param>
/// <param name="maxValue">Max Value</param>
public static void SetIntegerFormat(this SpinEdit editControl, int minValue, int maxValue) {
if (editControl == null)
throw new ArgumentNullException("editControl");
SetIntegerFormat(editControl, minValue, maxValue, minValue);
}
/// <summary>
/// Set SpinEdit integer format.
/// </summary>
/// <param name="editControl">SpinEdit Control</param>
/// <param name="minValue">Min Value</param>
/// <param name="maxValue">Max Value</param>
public static void SetIntegerFormat(this SpinEdit editControl, int minValue, int maxValue, int defaultValue) {
if (editControl == null)
throw new ArgumentNullException("editControl");
((ISupportInitialize)editControl.Properties).BeginInit();
editControl.Properties.IsFloatValue = false;
editControl.Properties.Mask.EditMask = "N0";
editControl.Properties.DisplayFormat.FormatType = FormatType.Numeric;
editControl.Properties.DisplayFormat.FormatString = "N0";
editControl.Properties.EditFormat.FormatType = FormatType.Numeric;
editControl.Properties.EditFormat.FormatString = "N0";
editControl.Properties.MinValue = minValue;
editControl.Properties.MaxValue = maxValue;
editControl.Value = defaultValue;
((ISupportInitialize)editControl.Properties).EndInit();
}
/// <summary>
/// Set SpinEdit decimal format.
/// </summary>
/// <param name="editControl">SpinEdit Control</param>
/// <param name="minValue">Min Value</param>
/// <param name="maxValue">Max Value</param>
public static void SetDecimalFormat(this SpinEdit editControl, string numberFormat, decimal minValue, decimal maxValue) {
if (editControl == null)
throw new ArgumentNullException("editControl");
SetDecimalFormat(editControl, numberFormat, minValue, maxValue, minValue);
}
/// <summary>
/// Set SpinEdit decimal format.
/// </summary>
/// <param name="editControl">SpinEdit Control</param>
/// <param name="minValue">Min Value</param>
/// <param name="maxValue">Max Value</param>
/// <param name="defaultValue">Default Value</param>
public static void SetDecimalFormat(this SpinEdit editControl, string numberFormat, decimal minValue, decimal maxValue, decimal defaultValue) {
if (editControl == null)
throw new ArgumentNullException("editControl");
((ISupportInitialize)editControl.Properties).BeginInit();
editControl.Properties.IsFloatValue = true;
editControl.Properties.DisplayFormat.FormatString = numberFormat;
editControl.Properties.DisplayFormat.FormatType = FormatType.Numeric;
editControl.Properties.EditFormat.FormatString = numberFormat;
editControl.Properties.EditFormat.FormatType = FormatType.Numeric;
editControl.Properties.Mask.EditMask = numberFormat;
editControl.Properties.EditMask = numberFormat;
editControl.Properties.MinValue = minValue;
editControl.Properties.MaxValue = maxValue;
editControl.Value = defaultValue;
((ISupportInitialize)editControl.Properties).EndInit();
}
#endregion
#region Repository Item SpinEdit
/// <summary>
/// Set Repository Item SpinEdit integer format.
/// </summary>
/// <param name="editControl">SpinEdit Control</param>
/// <param name="minValue">Min Value</param>
/// <param name="maxValue">Max Value</param>
public static void SetIntegerFormat(this RepositoryItemSpinEdit editControl, int minValue, int maxValue) {
if (editControl == null)
throw new ArgumentNullException("editControl");
editControl.IsFloatValue = false;
editControl.Mask.EditMask = "N00";
editControl.Mask.UseMaskAsDisplayFormat = true;
editControl.MinValue = minValue;
editControl.MaxValue = maxValue;
}
/// <summary>
/// Set Repository Item SpinEdit decimal format.
/// </summary>
/// <param name="editControl">SpinEdit Control</param>
/// <param name="minValue">Min Value</param>
/// <param name="maxValue">Max Value</param>
public static void SetDecimalFormat(this RepositoryItemSpinEdit editControl, string numberFormat, decimal minValue, decimal maxValue) {
if (editControl == null)
throw new ArgumentNullException("editControl");
editControl.IsFloatValue = true;
editControl.Mask.EditMask = numberFormat;
editControl.DisplayFormat.FormatString = numberFormat;
editControl.DisplayFormat.FormatType = FormatType.Numeric;
editControl.EditFormat.FormatString = numberFormat;
editControl.EditFormat.FormatType = FormatType.Numeric;
editControl.MinValue = minValue;
editControl.MaxValue = maxValue;
}
#endregion
#endregion
#region Initialize Descriptor
#region LookUpEdit
/// <summary>
/// Initialize LookUpEdit columns (Key, Name) for descriptor. <br/>
/// Both ValueMember and DisplayMember are 'Name'.
/// </summary>
/// <param name="editControl">LookUpEdit Control</param>
/// <param name="keyAsCaption">Show key as description</param>
public static void InitializeNameDescriptor(this LookUpEdit editControl, bool keyAsCaption) {
if (editControl == null)
throw new ArgumentNullException("editControl");
((ISupportInitialize)editControl.Properties).BeginInit();
editControl.Properties.DisplayMember = "Name";
editControl.Properties.ValueMember = "Key";
editControl.Properties.NullText = "";
// Init Columns
editControl.Properties.Columns.AddRange(
new LookUpColumnInfo[] {
new LookUpColumnInfo("Key", 30, "#"),
new LookUpColumnInfo("Name", 70, "Name")
}
);
((ISupportInitialize)editControl.Properties).EndInit();
}
/// <summary>
/// Initialize LookUpEdit columns (Key, Caption) for descriptor. <br/>
/// ValueMember is 'Key'. <br/>
/// </summary>
/// <param name="editControl">LookUpEdit Control</param>
/// <param name="keyAsCaption">Show key as description</param>
public static void InitializeDescriptor(this LookUpEdit editControl, bool keyAsCaption) {
if (editControl == null)
throw new ArgumentNullException("editControl");
((ISupportInitialize)editControl.Properties).BeginInit();
editControl.Properties.DisplayMember = keyAsCaption ? "Key" : "Caption";
editControl.Properties.ValueMember = "Key";
editControl.Properties.NullText = "";
// Init Columns
editControl.Properties.Columns.AddRange(
new LookUpColumnInfo[] {
new LookUpColumnInfo("Key", 30, "#"),
new LookUpColumnInfo("Caption", 70, "Caption")
}
);
((ISupportInitialize)editControl.Properties).EndInit();
}
/// <summary>
/// Initialize LookUpEdit columns for descriptor.
/// </summary>
/// <param name="editControl">LookUpEdit Control</param>
public static void InitializeDescriptor(this LookUpEdit editControl) {
if (editControl == null)
throw new ArgumentNullException("editControl");
InitializeDescriptor(editControl, false);
}
#endregion
#region Repository Item LookUpEdit
/// <summary>
/// Initialize Repository Item LookUpEdit columns (Key, Name) for descriptor. <br/>
/// Both ValueMember and DisplayMember are 'Name'.
/// </summary>
/// <param name="editControl">LookUpEdit Control</param>
/// <param name="keyAsCaption">Show key as description</param>
public static void InitializeNameDescriptor(this RepositoryItemLookUpEdit editControl) {
if (editControl == null)
throw new ArgumentNullException("editControl");
editControl.DisplayMember = "Name";
editControl.ValueMember = "Key";
editControl.NullText = "";
// Init Columns
editControl.Columns.AddRange(
new LookUpColumnInfo[] {
new LookUpColumnInfo("Key", 30, "#"),
new LookUpColumnInfo("Name", 70, "Name")
}
);
}
/// <summary>
/// Initialize Repository Item LookUpEdit columns (Key, Caption) for descriptor. <br/>
/// ValueMember is 'Key'. <br/>
/// </summary>
/// <param name="editControl">LookUpEdit Control</param>
/// <param name="keyAsCaption">Show key as description</param>
public static void InitializeDescriptor(this RepositoryItemLookUpEdit editControl, bool keyAsCaption) {
if (editControl == null)
throw new ArgumentNullException("editControl");
editControl.DisplayMember = keyAsCaption ? "Key" : "Caption";
editControl.ValueMember = "Key";
editControl.NullText = "";
// Init Columns
editControl.Columns.AddRange(
new LookUpColumnInfo[] {
new LookUpColumnInfo("Key", 30, "#"),
new LookUpColumnInfo("Caption", 70, "Caption")
}
);
}
/// <summary>
/// Initialize Repository Item LookUpEdit columns for descriptor.
/// </summary>
/// <param name="editControl">LookUpEdit Control</param>
public static void InitializeDescriptor(this RepositoryItemLookUpEdit editControl) {
if (editControl == null)
throw new ArgumentNullException("editControl");
InitializeDescriptor(editControl, false);
}
#endregion
#endregion
#region Add Clear Button for Popup Edit
/// <summary>
/// Add clear button to a specified Popup Edit (e.g. LookUpEdit, DateEdit).
/// </summary>
/// <param name="pEdit">Popup edit</param>
public static void AddClearButton(this PopupBaseEdit pEdit) {
if (pEdit == null)
throw new ArgumentNullException("pEdit");
((ISupportInitialize)pEdit.Properties).BeginInit();
// Add Button
pEdit.Properties.Buttons.Add(new EditorButton(ButtonPredefines.Delete, "Clear"));
// Clear edit value
// when 'Delete' button click
pEdit.ButtonClick += PopupBaseEdit_ButtonClick;
((ISupportInitialize)pEdit.Properties).EndInit();
}
private static void PopupBaseEdit_ButtonClick(object sender, ButtonPressedEventArgs e) {
PopupBaseEdit pEdit = sender as PopupBaseEdit;
if (pEdit == null)
return;
pEdit.EditValue = null;
}
#endregion
}