编写查询功能TextBox
生活随笔
收集整理的這篇文章主要介紹了
编写查询功能TextBox
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
主要是繼承原有TextBox;追加編號內容(ValueText)和顯示內容(DisplayText);在編輯完成后查詢數據庫調出DisplayText(如:名稱);并顯示在原TextBox中;當TextBox為編輯狀態是顯示ValueText(如:編號)
當然還可以進一步增強;如:增加對于的數據字典、增加DataRow所有數據(便于開發時根據記錄集更新其他組件)等等
運行效果如下圖
主要代碼:
1.繼承組件
public partial class TTextBox : Infragistics.Win.UltraWinEditors.UltraTextEditor2.定義屬性
private string displayMember;public string DisplayMember { get { return displayMember; } set { displayMember = value; } }private string valueMember;public string ValueMember { get { return valueMember; } set { valueMember = value; } }private int max_Length;public int Max_Length { get { return max_Length; } set { max_Length = value; } }3.原始原組件事件;并追加代碼
protected override void OnEndInit(){base.OnEndInit();max_Length = base.MaxLength;}protected override void OnBeforeEnterEditMode(CancelEventArgs e){base.OnBeforeEnterEditMode(e);if (valueMember == null)valueMember = "";if (max_Length != null && max_Length != 0)base.MaxLength = max_Length;base.Value = valueMember;}protected override void OnEnter(EventArgs e){base.OnEnter(e);base.SelectAll();}protected override void OnAfterExitEditMode(EventArgs e){base.OnAfterExitEditMode(e);if (displayMember == null)displayMember = "";base.MaxLength = 0;base.Value = displayMember;} protected override void OnValueChanged(EventArgs e){base.OnValueChanged(e);if (base.Value == null)return;valueMember = base.Value.ToString();//maxLength = base.MaxLength;DisplayMember = GetValue("select Name from Table"); if (DisplayMember == "")valueMember = "";elseDisplayMember = DisplayMember+ "(" + valueMember + ")";}運行效果如下圖:
轉載于:https://www.cnblogs.com/DesignIvan/archive/2013/05/31/CustControl.html
總結
以上是生活随笔為你收集整理的编写查询功能TextBox的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何解决Contacts中的多音字排序错
- 下一篇: MongoDb 安全配置