using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Design; using System.Reflection; using System.Windows.Forms; using Dongke.WinForm.Utilities; namespace Dongke.WinForm.Controls { /// /// 查询文本框控件(2个文本框) /// [ToolboxBitmap(typeof(ScbSearchBox), "ToolboxBitmap.SearchBox_00.bmp")] [DefaultEvent("SelectedItemChanged"), DefaultProperty("SearchText")] public partial class ScbSearch2Box : ScbSearchBox { #region 事件声明 #endregion #region 成员变量 ///// ///// 为此控件显示的属性 ///// private string _displayMember2 = string.Empty; /// /// 初始化的文本 /// private string _initText2 = null; /// /// 初始化的值 /// private object _initValue2 = null; #endregion #region 构造函数 /// /// 查询文本框控件 /// private ScbSearch2Box(bool isInitControls = true) :base(false) { InitializeComponent(); if (isInitControls) { this.InitQueryControls(); } this.txtCondition2.TextChanged += this.Condition_TextChanged; this.txtCondition2.KeyDown += this.Condition_KeyDown; } #endregion #region 属性 /// /// 获取或设置查询条件2(多选时,不能设置)。 /// [Description("获取或设置查询条件2(多选时,不能设置)。"), Category("CustomerEx")] [DefaultValue("")] public string Text2 { get { return this.txtCondition2.Text; } set { if (!this.MultiSelect) { this.txtCondition2.Text = value; } } } /// /// 获取或设置控件的显示的属性 /// [Description("获取或设置控件的显示的属性。"), Category("CustomerEx")] [DefaultValue("")] public virtual string DisplayMember2 { get { return this._displayMember2; } set { if (value == null) { value = string.Empty; } if (this._displayMember2 != value) { this._displayMember2 = value; this.ResetDisplayText(); } } } /// /// 获取选择的项目的文本表示形式。 /// [Description("获取选择的项目的文本表示形式。"), Category("CustomerEx")] [Browsable(false)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [EditorBrowsable(EditorBrowsableState.Advanced)] public string SearchedText2 { get { if (this.ValueFrom == SearchBoxValueFrom.InitValue) { return this._initText2; } if (this.ValueFrom != SearchBoxValueFrom.SearchForm) { return null; } if (this._checkedData == null || this._checkedData.Rows.Count == 0 || !this._checkedData.Columns.Contains(this._displayMember2)) { return null; } return this.FormatDisplay(this._checkedData.Rows[0][this._displayMember2]); } } /// /// 获取选定的项目的文本表示形式。 /// [Description("获取选定的项目的文本表示形式。"), Category("CustomerEx")] [Browsable(false)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [EditorBrowsable(EditorBrowsableState.Advanced)] public string[] CheckedTexts2 { get { if (this.ValueFrom != SearchBoxValueFrom.SearchForm) { return null; } if (this._checkedData == null || this._checkedData.Rows.Count == 0 || !this._checkedData.Columns.Contains(this._displayMember2)) { return null; } string[] values = new string[this._checkedData.Rows.Count]; for (int i = 0; i < this._checkedData.Rows.Count; i++) { values[i] = this.FormatDisplay(this._checkedData.Rows[i][this._displayMember2]); } return values; } } /// /// 获取选定的项目的文本表示形式,用【,】隔开。 /// [Description("获取选定的项目的文本表示形式,用【,】隔开。"), Category("CustomerEx")] [Browsable(false)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [EditorBrowsable(EditorBrowsableState.Advanced)] public string CheckedText2 { get { if (this.ValueFrom != SearchBoxValueFrom.SearchForm) { return null; } string[] values = this.CheckedTexts2; if (values == null) { return string.Empty; } string value = string.Join(Constant.MULTIPLE_TEXT_SEPARATOR, values); return value; } } #endregion #region 重写属性 #endregion #region 事件处理 #endregion #region 公有方法 /// /// 打开查询窗体 /// public override void ShowSearchForm() { if (!this.MultiSelect) { this.SearchForm.SetConditions(this.txtCondition1.Text, this.txtCondition2.Text); } this.SearchForm.Show(); } /// /// 初始化显示的值 /// /// /// /// /// public virtual void InitValue(string text, object value, string text2, object value2) { this._initText2 = text2; this._initValue2 = value2; this.txtCondition2.Text = text2; base.InitValue(text, value); } #endregion #region 保护方法 /// /// 初始化查询文本框集合 /// protected override void InitQueryControls() { //base.InitQueryControls(); this._queryControls.Add(this.txtCondition1); this._queryControls.Add(this.txtCondition2); } /// /// 选择窗体关闭时,设置显示文本。 /// protected override void ResetDisplayText() { this._resetText = true; this.txtCondition2.Text = this.CheckedText2; base.ResetDisplayText(); } /// /// 设置文本框只读 /// protected override void SetEditReadOnly() { base.SetEditReadOnly(); this.txtCondition2.ReadOnly = this.txtCondition1.ReadOnly; } #endregion #region 私有方法 #endregion #region IDataVerifiable 成员 /// /// 清除输入项 /// public override void ClearValue() { //this.txtCondition2.ClearValue(); base.ClearValue(); } #endregion } }