|
|
|
|
using System;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
using DevExpress.Utils;
|
|
|
|
|
using DevExpress.Utils.Localization;
|
|
|
|
|
using DevExpress.XtraBars;
|
|
|
|
|
using DevExpress.XtraCharts.Localization;
|
|
|
|
|
using DevExpress.XtraEditors;
|
|
|
|
|
using DevExpress.XtraEditors.Controls;
|
|
|
|
|
using DevExpress.XtraEditors.Mask;
|
|
|
|
|
using DevExpress.XtraEditors.Repository;
|
|
|
|
|
using DevExpress.XtraGrid.Localization;
|
|
|
|
|
using DevExpress.XtraGrid.Views.Grid;
|
|
|
|
|
using DevExpress.XtraLayout.Localization;
|
|
|
|
|
using DevExpress.XtraNavBar;
|
|
|
|
|
using DevExpress.XtraPrinting.Localization;
|
|
|
|
|
using DevExpress.XtraScheduler.Localization;
|
|
|
|
|
using DevExpress.XtraTreeList;
|
|
|
|
|
using DevExpress.XtraTreeList.Columns;
|
|
|
|
|
using DevExpress.XtraTreeList.Localization;
|
|
|
|
|
using DevExpress.XtraVerticalGrid;
|
|
|
|
|
using DevExpress.XtraVerticalGrid.Localization;
|
|
|
|
|
using KGIS.Plugin.LayerProperty.Utils;
|
|
|
|
|
using DevExpress.XtraBars.Localization;
|
|
|
|
|
|
|
|
|
|
namespace KGIS.Plugin.LayerProperty.View.UC_Controls
|
|
|
|
|
{
|
|
|
|
|
public class DevExpressControlCommand
|
|
|
|
|
{
|
|
|
|
|
private const string WARNING_NOQUOTE = "不能拥有单引号";
|
|
|
|
|
private const string WARNING_MAXLENGTH = "长度超出范围";
|
|
|
|
|
private static string NumberChars = "1234567890.-";
|
|
|
|
|
public static void SetEditorInteger(ref TextEdit txtEditor, bool allowNegative, bool allowZero, int maxDigit)
|
|
|
|
|
{
|
|
|
|
|
MaskProperties mask = txtEditor.Properties.Mask;
|
|
|
|
|
mask.MaskType = MaskType.Numeric;
|
|
|
|
|
if (allowNegative)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = 0;
|
|
|
|
|
mask.EditMask = new string('#', maxDigit - 1) + "0";
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatType = FormatType.Numeric;
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatString = new string('#', maxDigit - 1) + "0";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (!allowNegative && allowZero)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = 0;
|
|
|
|
|
mask.EditMask = new string('#', maxDigit - 1) + "0;";
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatType = FormatType.Numeric;
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatString = new string('#', maxDigit - 1) + "0";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = 1;
|
|
|
|
|
mask.EditMask = new string('#', maxDigit) + ";";
|
|
|
|
|
txtEditor.EditValueChanged += new System.EventHandler(DevExpressControlCommand.txtEditor_EditValueChanged_4Numeric);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
txtEditor.ImeMode = ImeMode.Disable;
|
|
|
|
|
txtEditor.Properties.KeyUp += new KeyEventHandler(DevExpressControlCommand.txtEditor_Properties_KeyUp);
|
|
|
|
|
}
|
|
|
|
|
public static void SetAllEditorInteger(ref BaseEdit txtEditor, bool allowNegative, bool allowZero, int maxDigit)
|
|
|
|
|
{
|
|
|
|
|
if (allowNegative)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = 0;
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatType = FormatType.Numeric;
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatString = new string('#', maxDigit - 1) + "0";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (!allowNegative && allowZero)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = 0;
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatType = FormatType.Numeric;
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatString = new string('#', maxDigit - 1) + "0";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = 1;
|
|
|
|
|
txtEditor.EditValueChanged += new System.EventHandler(DevExpressControlCommand.txtEditor_EditValueChanged_4Numeric);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
txtEditor.ImeMode = ImeMode.Disable;
|
|
|
|
|
txtEditor.Properties.KeyUp += new KeyEventHandler(DevExpressControlCommand.txtEditor_Properties_KeyUp);
|
|
|
|
|
}
|
|
|
|
|
public static void SetAllEditorInteger2(ref PopupBaseAutoSearchEdit txtEditor, bool allowNegative, bool allowZero, int maxDigit)
|
|
|
|
|
{
|
|
|
|
|
if (allowNegative)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = 0;
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatType = FormatType.Numeric;
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatString = new string('#', maxDigit - 1) + "0";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (!allowNegative && allowZero)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = 0;
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatType = FormatType.Numeric;
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatString = new string('#', maxDigit - 1) + "0";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = 1;
|
|
|
|
|
txtEditor.EditValueChanging += new ChangingEventHandler(DevExpressControlCommand.txtEditor_EditValueChanging);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
txtEditor.ImeMode = ImeMode.Disable;
|
|
|
|
|
txtEditor.Properties.KeyUp += new KeyEventHandler(DevExpressControlCommand.txtEditor_Properties_KeyUp);
|
|
|
|
|
}
|
|
|
|
|
private static void txtEditor_EditValueChanging(object sender, ChangingEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
TextEdit textEdit = (TextEdit)sender;
|
|
|
|
|
if (e.NewValue != null)
|
|
|
|
|
{
|
|
|
|
|
string text = e.NewValue.ToString();
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
if (textEdit.Text == null)
|
|
|
|
|
{
|
|
|
|
|
text = "";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
text = textEdit.Text.Trim();
|
|
|
|
|
}
|
|
|
|
|
if (text.Length == 0)
|
|
|
|
|
{
|
|
|
|
|
textEdit.EditValue = 1;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (text == ".")
|
|
|
|
|
{
|
|
|
|
|
textEdit.EditValue = double.Parse("1.0");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (double.Parse(text) == 0.0)
|
|
|
|
|
{
|
|
|
|
|
textEdit.EditValue = double.Parse("1.0");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
textEdit.ErrorText = ex.Message;
|
|
|
|
|
e.Cancel = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception)
|
|
|
|
|
{
|
|
|
|
|
e.Cancel = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public static void SetEditorDouble(ref TextEdit txtEditor, bool allowNegative, bool allowZero, int maxDigit, int maxFraction)
|
|
|
|
|
{
|
|
|
|
|
MaskProperties mask = txtEditor.Properties.Mask;
|
|
|
|
|
mask.MaskType = MaskType.Numeric;
|
|
|
|
|
mask.SaveLiteral = false;
|
|
|
|
|
if (allowNegative)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = null;
|
|
|
|
|
mask.EditMask = new string('#', maxDigit - 1) + "0." + new string('#', maxFraction);
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatType = FormatType.Numeric;
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatString = new string('#', maxDigit - 1) + "0." + new string('0', maxFraction);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (!allowNegative && allowZero)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = null;
|
|
|
|
|
mask.EditMask = new string('#', maxDigit - 1) + "0." + new string('#', maxFraction) + ";";
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatType = FormatType.Numeric;
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatString = new string('#', maxDigit - 1) + "0." + new string('0', maxFraction);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = null;
|
|
|
|
|
mask.EditMask = new string('#', maxDigit - 1) + "0." + new string('#', maxFraction) + ";";
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatType = FormatType.Numeric;
|
|
|
|
|
txtEditor.Properties.DisplayFormat.FormatString = new string('#', maxDigit - 1) + "0." + new string('0', maxFraction);
|
|
|
|
|
txtEditor.EditValueChanged += new System.EventHandler(DevExpressControlCommand.txtEditor_EditValueChanged_4Numeric);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
txtEditor.ImeMode = ImeMode.Disable;
|
|
|
|
|
txtEditor.Properties.KeyUp += new KeyEventHandler(DevExpressControlCommand.txtEditor_Properties_KeyUp);
|
|
|
|
|
}
|
|
|
|
|
public static void SetEditorStringNoSingleQuote(ref TextEdit txtEditor, int maxLength)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = "";
|
|
|
|
|
txtEditor.Properties.MaxLength = maxLength;
|
|
|
|
|
txtEditor.EditValueChanging += new ChangingEventHandler(DevExpressControlCommand.txtEditor_EditValueChanging_4StringNoSingleQoute);
|
|
|
|
|
}
|
|
|
|
|
public static void SetEditorStringNoSingleQuote(ref MemoEdit txtEditor, int maxLength)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = "";
|
|
|
|
|
txtEditor.Properties.MaxLength = maxLength;
|
|
|
|
|
txtEditor.EditValueChanging += new ChangingEventHandler(DevExpressControlCommand.txtEditor_EditValueChanging_4StringNoSingleQoute);
|
|
|
|
|
}
|
|
|
|
|
public static void SetEditorStringNoSingleQuote(ref ComboBoxEdit cmbEditor, int maxLength)
|
|
|
|
|
{
|
|
|
|
|
cmbEditor.EditValue = "";
|
|
|
|
|
cmbEditor.Properties.MaxLength = maxLength;
|
|
|
|
|
cmbEditor.EditValueChanging += new ChangingEventHandler(DevExpressControlCommand.txtEditor_EditValueChanging_4StringNoSingleQoute);
|
|
|
|
|
}
|
|
|
|
|
public static void SetEditorString(ref TextEdit txtEditor, int maxLength)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = "";
|
|
|
|
|
txtEditor.Properties.MaxLength = maxLength;
|
|
|
|
|
txtEditor.EditValueChanging += new ChangingEventHandler(DevExpressControlCommand.txtEditor_EditValueChanging_4String);
|
|
|
|
|
}
|
|
|
|
|
private static void txtEditor_EditValueChanged_4Numeric(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
if (sender is TextEdit)
|
|
|
|
|
{
|
|
|
|
|
TextEdit textEdit = (TextEdit)sender;
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
string text;
|
|
|
|
|
if (textEdit.Text == null)
|
|
|
|
|
{
|
|
|
|
|
text = "";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
text = textEdit.Text.Trim();
|
|
|
|
|
}
|
|
|
|
|
if (text.Length == 0)
|
|
|
|
|
{
|
|
|
|
|
textEdit.EditValue = 1;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (text == ".")
|
|
|
|
|
{
|
|
|
|
|
textEdit.EditValue = double.Parse("1.0");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (double.Parse(text) == 0.0)
|
|
|
|
|
{
|
|
|
|
|
textEdit.EditValue = double.Parse("1.0");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
goto IL_E7;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
textEdit.ErrorText = ex.Message;
|
|
|
|
|
goto IL_E7;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (sender is BarEditItem)
|
|
|
|
|
{
|
|
|
|
|
BarEditItem barEditItem = (BarEditItem)sender;
|
|
|
|
|
if (barEditItem.EditValue == null)
|
|
|
|
|
{
|
|
|
|
|
barEditItem.EditValue = 1;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (barEditItem.EditValue.ToString() == "0")
|
|
|
|
|
{
|
|
|
|
|
barEditItem.EditValue = 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
IL_E7:;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private static void txtEditor_EditValueChanging_4StringNoSingleQoute(object sender, ChangingEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
TextEdit textEdit = (TextEdit)sender;
|
|
|
|
|
if (e.NewValue == null)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
string text = e.NewValue.ToString();
|
|
|
|
|
int maxLength = textEdit.Properties.MaxLength;
|
|
|
|
|
int selectionStart = textEdit.SelectionStart;
|
|
|
|
|
textEdit.ErrorText = "";
|
|
|
|
|
if (text.IndexOf("'") >= 0 || text.IndexOf("’") >= 0 || text.IndexOf("‘") >= 0)
|
|
|
|
|
{
|
|
|
|
|
e.Cancel = true;
|
|
|
|
|
textEdit.ErrorText = "不能拥有单引号";
|
|
|
|
|
}
|
|
|
|
|
if (ConvertUtil.GetStringDBLength(text) > maxLength)
|
|
|
|
|
{
|
|
|
|
|
e.Cancel = true;
|
|
|
|
|
textEdit.ErrorText = "长度超出范围" + maxLength.ToString();
|
|
|
|
|
}
|
|
|
|
|
if (selectionStart >= 0)
|
|
|
|
|
{
|
|
|
|
|
textEdit.SelectionStart = selectionStart;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private static void txtEditor_EditValueChanging_4String(object sender, ChangingEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
TextEdit textEdit = (TextEdit)sender;
|
|
|
|
|
string s = (string)e.NewValue;
|
|
|
|
|
int maxLength = textEdit.Properties.MaxLength;
|
|
|
|
|
int selectionStart = textEdit.SelectionStart;
|
|
|
|
|
textEdit.ErrorText = "";
|
|
|
|
|
if (ConvertUtil.GetStringDBLength(s) > maxLength)
|
|
|
|
|
{
|
|
|
|
|
e.Cancel = true;
|
|
|
|
|
textEdit.ErrorText = "长度超出范围" + maxLength.ToString();
|
|
|
|
|
}
|
|
|
|
|
if (selectionStart >= 0)
|
|
|
|
|
{
|
|
|
|
|
textEdit.SelectionStart = selectionStart;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private static void txtEditor_Properties_KeyUp(object sender, KeyEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (DevExpressControlCommand.NumberChars.IndexOf((char)e.KeyValue) < 0)
|
|
|
|
|
{
|
|
|
|
|
TextEdit textEdit = (TextEdit)sender;
|
|
|
|
|
textEdit.ImeMode = ImeMode.Disable;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public static void SetEditorInteger(ref BarEditItem txtEditor, bool allowNegative, bool allowZero, int maxDigit)
|
|
|
|
|
{
|
|
|
|
|
RepositoryItemTextEdit repositoryItemTextEdit = (RepositoryItemTextEdit)txtEditor.Edit;
|
|
|
|
|
MaskProperties mask = repositoryItemTextEdit.Mask;
|
|
|
|
|
mask.MaskType = MaskType.Numeric;
|
|
|
|
|
if (allowNegative)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = 0;
|
|
|
|
|
mask.EditMask = "\\d" + maxDigit.ToString();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (!allowNegative && allowZero)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = 0;
|
|
|
|
|
mask.EditMask = new string('#', maxDigit - 1) + "0;";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = 1;
|
|
|
|
|
mask.EditMask = new string('#', maxDigit) + ";";
|
|
|
|
|
txtEditor.EditValueChanged += new System.EventHandler(DevExpressControlCommand.txtEditor_EditValueChanged_4Numeric);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
repositoryItemTextEdit.KeyUp += new KeyEventHandler(DevExpressControlCommand.txtEditor_Properties_KeyUp);
|
|
|
|
|
}
|
|
|
|
|
public static void SetEditorDouble(ref BarEditItem txtEditor, bool allowNegative, bool allowZero, int maxDigit, int maxFraction)
|
|
|
|
|
{
|
|
|
|
|
RepositoryItemTextEdit repositoryItemTextEdit = (RepositoryItemTextEdit)txtEditor.Edit;
|
|
|
|
|
MaskProperties mask = repositoryItemTextEdit.Mask;
|
|
|
|
|
mask.MaskType = MaskType.Numeric;
|
|
|
|
|
mask.SaveLiteral = false;
|
|
|
|
|
if (allowNegative)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = null;
|
|
|
|
|
mask.EditMask = new string('#', maxDigit) + "." + new string('#', maxFraction);
|
|
|
|
|
repositoryItemTextEdit.DisplayFormat.FormatType = FormatType.Numeric;
|
|
|
|
|
repositoryItemTextEdit.DisplayFormat.FormatString = new string('#', maxDigit - 1) + "0." + new string('0', maxFraction);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (!allowNegative && allowZero)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = null;
|
|
|
|
|
mask.EditMask = new string('#', maxDigit - 1) + "0." + new string('#', maxFraction) + ";";
|
|
|
|
|
repositoryItemTextEdit.DisplayFormat.FormatType = FormatType.Numeric;
|
|
|
|
|
repositoryItemTextEdit.DisplayFormat.FormatString = new string('#', maxDigit - 1) + "0." + new string('0', maxFraction);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
txtEditor.EditValue = null;
|
|
|
|
|
mask.EditMask = new string('#', maxDigit - 1) + "0." + new string('#', maxFraction) + ";";
|
|
|
|
|
repositoryItemTextEdit.DisplayFormat.FormatType = FormatType.Numeric;
|
|
|
|
|
repositoryItemTextEdit.DisplayFormat.FormatString = new string('#', maxDigit - 1) + "0." + new string('0', maxFraction);
|
|
|
|
|
repositoryItemTextEdit.EditValueChanged += new System.EventHandler(DevExpressControlCommand.txtEditor_EditValueChanged_4Numeric);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
repositoryItemTextEdit.KeyUp += new KeyEventHandler(DevExpressControlCommand.txtEditor_Properties_KeyUp);
|
|
|
|
|
}
|
|
|
|
|
public static void SetEditorStringNoSingleQuote(ref BarEditItem txtEditor, int maxLength)
|
|
|
|
|
{
|
|
|
|
|
RepositoryItemTextEdit repositoryItemTextEdit = (RepositoryItemTextEdit)txtEditor.Edit;
|
|
|
|
|
txtEditor.EditValue = "";
|
|
|
|
|
repositoryItemTextEdit.MaxLength = maxLength;
|
|
|
|
|
repositoryItemTextEdit.EditValueChanging += new ChangingEventHandler(DevExpressControlCommand.txtEditor_EditValueChanging_4StringNoSingleQoute);
|
|
|
|
|
}
|
|
|
|
|
public static void SetEditorStringNoSingleQuote(ref RepositoryItemTextEdit txtEditor, int maxLength)
|
|
|
|
|
{
|
|
|
|
|
txtEditor.NullText = "";
|
|
|
|
|
txtEditor.MaxLength = maxLength;
|
|
|
|
|
txtEditor.EditValueChanging += new ChangingEventHandler(DevExpressControlCommand.txtEditor_EditValueChanging_4StringNoSingleQoute);
|
|
|
|
|
}
|
|
|
|
|
public static void SetEditorString(ref BarEditItem txtEditor, int maxLength)
|
|
|
|
|
{
|
|
|
|
|
RepositoryItemTextEdit repositoryItemTextEdit = (RepositoryItemTextEdit)txtEditor.Edit;
|
|
|
|
|
txtEditor.EditValue = "";
|
|
|
|
|
repositoryItemTextEdit.MaxLength = maxLength;
|
|
|
|
|
repositoryItemTextEdit.EditValueChanging += new ChangingEventHandler(DevExpressControlCommand.txtEditor_EditValueChanging_4String);
|
|
|
|
|
}
|
|
|
|
|
public static bool MoveTop(ref ListBoxControl lst)
|
|
|
|
|
{
|
|
|
|
|
int selectedIndex = lst.SelectedIndex;
|
|
|
|
|
if (selectedIndex != -1)
|
|
|
|
|
{
|
|
|
|
|
object item = lst.Items[selectedIndex];
|
|
|
|
|
lst.Items.RemoveAt(selectedIndex);
|
|
|
|
|
lst.Items.Insert(0, item);
|
|
|
|
|
lst.SelectedIndex = 0;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
public static bool MoveDown(ref ListBoxControl lst)
|
|
|
|
|
{
|
|
|
|
|
int selectedIndex = lst.SelectedIndex;
|
|
|
|
|
int count = lst.Items.Count;
|
|
|
|
|
if (selectedIndex != -1 && selectedIndex != count - 1)
|
|
|
|
|
{
|
|
|
|
|
object item = lst.Items[selectedIndex];
|
|
|
|
|
lst.Items.Insert(selectedIndex + 2, item);
|
|
|
|
|
lst.Items.RemoveAt(selectedIndex);
|
|
|
|
|
lst.SelectedIndex = selectedIndex + 1;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
public static bool MoveUp(ref ListBoxControl lst)
|
|
|
|
|
{
|
|
|
|
|
int selectedIndex = lst.SelectedIndex;
|
|
|
|
|
if (selectedIndex != -1 && selectedIndex != 0)
|
|
|
|
|
{
|
|
|
|
|
object item = lst.Items[selectedIndex];
|
|
|
|
|
lst.Items.Insert(selectedIndex - 1, item);
|
|
|
|
|
lst.Items.RemoveAt(selectedIndex + 1);
|
|
|
|
|
lst.SelectedIndex = selectedIndex - 1;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
public static bool MoveBottom(ref ListBoxControl lst)
|
|
|
|
|
{
|
|
|
|
|
int selectedIndex = lst.SelectedIndex;
|
|
|
|
|
int count = lst.Items.Count;
|
|
|
|
|
if (selectedIndex != -1)
|
|
|
|
|
{
|
|
|
|
|
object item = lst.Items[selectedIndex];
|
|
|
|
|
lst.Items.Insert(count, item);
|
|
|
|
|
lst.Items.RemoveAt(selectedIndex);
|
|
|
|
|
lst.SelectedIndex = count - 1;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
public static bool MoveToOther(ref ListBoxControl lstdest, ref ListBoxControl lstsrc)
|
|
|
|
|
{
|
|
|
|
|
int selectedIndex = lstsrc.SelectedIndex;
|
|
|
|
|
int count = lstsrc.Items.Count;
|
|
|
|
|
int count2 = lstdest.Items.Count;
|
|
|
|
|
if (selectedIndex != -1)
|
|
|
|
|
{
|
|
|
|
|
lstdest.Items.Add(lstsrc.SelectedItem);
|
|
|
|
|
lstsrc.Items.RemoveAt(selectedIndex);
|
|
|
|
|
if (selectedIndex != count - 1)
|
|
|
|
|
{
|
|
|
|
|
lstsrc.SelectedIndex = selectedIndex;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (count != 1)
|
|
|
|
|
{
|
|
|
|
|
lstsrc.SelectedIndex = selectedIndex - 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
lstdest.SelectedIndex = count2;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
public static bool MoveAllToOther(ref ListBoxControl lstdest, ref ListBoxControl lstsrc)
|
|
|
|
|
{
|
|
|
|
|
int count = lstsrc.Items.Count;
|
|
|
|
|
if (count == 0)
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
for (int i = 0; i < count; i++)
|
|
|
|
|
{
|
|
|
|
|
lstdest.Items.Add(lstsrc.Items[i]);
|
|
|
|
|
}
|
|
|
|
|
lstsrc.Items.Clear();
|
|
|
|
|
lstdest.SelectedIndex = lstdest.Items.Count - 1;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
public static int MoveTop(ref DataTable tbl, int index)
|
|
|
|
|
{
|
|
|
|
|
if (index != -1)
|
|
|
|
|
{
|
|
|
|
|
DataRow dataRow = tbl.Rows[index];
|
|
|
|
|
DataRow dataRow2 = tbl.NewRow();
|
|
|
|
|
dataRow2.ItemArray = dataRow.ItemArray;
|
|
|
|
|
tbl.Rows.Remove(dataRow);
|
|
|
|
|
tbl.Rows.InsertAt(dataRow2, 0);
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
public static int MoveDown(ref DataTable tbl, int index)
|
|
|
|
|
{
|
|
|
|
|
int count = tbl.Rows.Count;
|
|
|
|
|
if (index != -1 && index != count - 1)
|
|
|
|
|
{
|
|
|
|
|
DataRow dataRow = tbl.Rows[index];
|
|
|
|
|
DataRow dataRow2 = tbl.NewRow();
|
|
|
|
|
dataRow2.ItemArray = dataRow.ItemArray;
|
|
|
|
|
tbl.Rows.Remove(dataRow);
|
|
|
|
|
tbl.Rows.InsertAt(dataRow2, index + 1);
|
|
|
|
|
return index + 1;
|
|
|
|
|
}
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
public static int MoveUp(ref DataTable tbl, int index)
|
|
|
|
|
{
|
|
|
|
|
int arg_0C_0 = tbl.Rows.Count;
|
|
|
|
|
if (index != -1 && index != 0)
|
|
|
|
|
{
|
|
|
|
|
DataRow dataRow = tbl.Rows[index];
|
|
|
|
|
DataRow dataRow2 = tbl.NewRow();
|
|
|
|
|
dataRow2.ItemArray = dataRow.ItemArray;
|
|
|
|
|
tbl.Rows.Remove(dataRow);
|
|
|
|
|
tbl.Rows.InsertAt(dataRow2, index - 1);
|
|
|
|
|
return index - 1;
|
|
|
|
|
}
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
public static int MoveBottom(ref DataTable tbl, int index)
|
|
|
|
|
{
|
|
|
|
|
int count = tbl.Rows.Count;
|
|
|
|
|
if (index != -1)
|
|
|
|
|
{
|
|
|
|
|
DataRow dataRow = tbl.Rows[index];
|
|
|
|
|
DataRow dataRow2 = tbl.NewRow();
|
|
|
|
|
dataRow2.ItemArray = dataRow.ItemArray;
|
|
|
|
|
tbl.Rows.Remove(dataRow);
|
|
|
|
|
tbl.Rows.InsertAt(dataRow2, count - 1);
|
|
|
|
|
return count - 1;
|
|
|
|
|
}
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
[Obsolete("自定义本地化方法", true)]
|
|
|
|
|
public static void LocalizeSystem()
|
|
|
|
|
{
|
|
|
|
|
GridLocalizer.Active = new DxperienceXtraGridLocalizationCHS();
|
|
|
|
|
BarLocalizer.Active = new DxperienceXtraBarsLocalizationCHS();
|
|
|
|
|
XtraLocalizer<ChartStringId>.Active = new DxperienceXtraChartsLocalizationCHS();
|
|
|
|
|
Localizer.Active = new DxperienceXtraEditorsLocalizationCHS();
|
|
|
|
|
LayoutLocalizer.Active = new DxperienceXtraLayoutLocalizationCHS();
|
|
|
|
|
NavBarLocalizer.Active = new DxperienceXtraNavBarLocalizationCHS();
|
|
|
|
|
//PivotGridLocalizer.Active = new DxperienceXtraPivotGridLocalizationCHS();
|
|
|
|
|
PreviewLocalizer.Active = new DxperienceXtraPrintingLocalizationCHS();
|
|
|
|
|
//ReportLocalizer.Active = new DxperienceXtraReportsLocalizationCHS();
|
|
|
|
|
XtraLocalizer<SchedulerStringId>.Active = new DxperienceXtraSchedulerLocalizationCHS();
|
|
|
|
|
TreeListLocalizer.Active = new DxperienceXtraTreeListLocalizationCHS();
|
|
|
|
|
VGridLocalizer.Active = new DxperienceXtraVerticalGridLocalizationCHS();
|
|
|
|
|
}
|
|
|
|
|
public static void InitFormModel(ref XtraForm form)
|
|
|
|
|
{
|
|
|
|
|
form.FormBorderStyle = FormBorderStyle.FixedDialog;
|
|
|
|
|
form.StartPosition = FormStartPosition.CenterScreen;
|
|
|
|
|
form.ShowInTaskbar = false;
|
|
|
|
|
form.MaximizeBox = false;
|
|
|
|
|
form.MinimizeBox = false;
|
|
|
|
|
}
|
|
|
|
|
public static void InitGridControl(ref GridView gridView)
|
|
|
|
|
{
|
|
|
|
|
gridView.ActiveFilterEnabled = false;
|
|
|
|
|
gridView.OptionsBehavior.Editable = false;
|
|
|
|
|
gridView.OptionsBehavior.ImmediateUpdateRowPosition = false;
|
|
|
|
|
gridView.OptionsCustomization.AllowFilter = false;
|
|
|
|
|
gridView.OptionsMenu.EnableColumnMenu = false;
|
|
|
|
|
gridView.OptionsMenu.EnableFooterMenu = false;
|
|
|
|
|
gridView.OptionsMenu.EnableGroupPanelMenu = false;
|
|
|
|
|
gridView.OptionsView.ColumnAutoWidth = false;
|
|
|
|
|
gridView.OptionsView.ShowIndicator = false;
|
|
|
|
|
gridView.DragObjectOver += new DevExpress.XtraGrid.Views.Base.DragObjectOverEventHandler(DevExpressControlCommand.GridView_DragObjectOver);
|
|
|
|
|
}
|
|
|
|
|
private static void GridView_DragObjectOver(object sender, DevExpress.XtraGrid.Views.Base.DragObjectOverEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (e.DropInfo.Index < 0)
|
|
|
|
|
{
|
|
|
|
|
e.DropInfo.Valid = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public static void BoundDataTableToGrid(ref GridView gridView, DataTable table)
|
|
|
|
|
{
|
|
|
|
|
gridView.GridControl.DataSource = table;
|
|
|
|
|
gridView.Columns.Clear();
|
|
|
|
|
gridView.PopulateColumns(table);
|
|
|
|
|
for (int i = 0; i < table.Columns.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
gridView.Columns[i].Caption = table.Columns[i].Caption;
|
|
|
|
|
gridView.Columns[i].BestFit();
|
|
|
|
|
}
|
|
|
|
|
gridView.LayoutChanged();
|
|
|
|
|
}
|
|
|
|
|
public static void InitBarManager(ref BarManager barMng)
|
|
|
|
|
{
|
|
|
|
|
barMng.AllowCustomization = false;
|
|
|
|
|
barMng.AllowMoveBarOnToolbar = false;
|
|
|
|
|
barMng.AllowQuickCustomization = false;
|
|
|
|
|
barMng.AllowShowToolbarsPopup = false;
|
|
|
|
|
foreach (Bar bar in barMng.Bars)
|
|
|
|
|
{
|
|
|
|
|
bar.OptionsBar.AllowQuickCustomization = false;
|
|
|
|
|
bar.OptionsBar.DisableClose = true;
|
|
|
|
|
bar.OptionsBar.DisableCustomization = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public static void InitTreeList(ref TreeList tlst)
|
|
|
|
|
{
|
|
|
|
|
tlst.OptionsMenu.EnableColumnMenu = false;
|
|
|
|
|
tlst.OptionsMenu.EnableFooterMenu = false;
|
|
|
|
|
tlst.OptionsView.AutoWidth = true;
|
|
|
|
|
tlst.OptionsView.ShowIndicator = false;
|
|
|
|
|
tlst.OptionsBehavior.KeepSelectedOnClick = false;
|
|
|
|
|
tlst.OptionsSelection.EnableAppearanceFocusedCell = false;
|
|
|
|
|
tlst.Appearance.FocusedCell.BackColor = Color.Navy;
|
|
|
|
|
tlst.Appearance.FocusedCell.ForeColor = Color.White;
|
|
|
|
|
tlst.Appearance.SelectedRow.BackColor = Color.Navy;
|
|
|
|
|
tlst.Appearance.SelectedRow.ForeColor = Color.White;
|
|
|
|
|
foreach (TreeListColumn treeListColumn in tlst.Columns)
|
|
|
|
|
{
|
|
|
|
|
treeListColumn.OptionsColumn.AllowMoveToCustomizationForm = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public static void InitVGridControl(ref VGridControl vgrid)
|
|
|
|
|
{
|
|
|
|
|
vgrid.LayoutStyle = LayoutViewStyle.SingleRecordView;
|
|
|
|
|
vgrid.BorderStyle = BorderStyles.NoBorder;
|
|
|
|
|
vgrid.TreeButtonStyle = TreeButtonStyle.TreeView;
|
|
|
|
|
vgrid.ShowButtonMode = DevExpress.XtraVerticalGrid.ShowButtonModeEnum.ShowForFocusedRow;
|
|
|
|
|
vgrid.Appearance.BandBorder.BackColor = Color.FromArgb(213, 213, 213);
|
|
|
|
|
vgrid.Appearance.BandBorder.Options.UseBackColor = true;
|
|
|
|
|
vgrid.Appearance.Category.Options.UseBorderColor = true;
|
|
|
|
|
vgrid.Appearance.HideSelectionRow.BackColor = Color.Blue;
|
|
|
|
|
vgrid.Appearance.HideSelectionRow.Options.UseBackColor = true;
|
|
|
|
|
vgrid.Appearance.HorzLine.Options.UseBackColor = true;
|
|
|
|
|
vgrid.Appearance.RowHeaderPanel.BackColor = Color.FromArgb(240, 240, 240);
|
|
|
|
|
vgrid.Appearance.RowHeaderPanel.Options.UseBackColor = true;
|
|
|
|
|
vgrid.Appearance.VertLine.Options.UseBackColor = true;
|
|
|
|
|
}
|
|
|
|
|
public static Form GetParentForm(System.Windows.Forms.Control target)
|
|
|
|
|
{
|
|
|
|
|
if (target == null)
|
|
|
|
|
{
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
if (target is Form)
|
|
|
|
|
{
|
|
|
|
|
return (Form)target;
|
|
|
|
|
}
|
|
|
|
|
return DevExpressControlCommand.GetParentForm(target.Parent);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|