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
}
}