我觉得这种思路好,所以把它贴出来

 
 
public partial class CustomGridLookUpEdit : GridLookUpEdit { #region 控件类别枚举 /// <summary> /// 控件类别枚举 /// </summary> public enum GridLookUpEditType { /// <summary> /// none /// </summary> None, /// <summary> /// 客户信息 /// </summary> Customer, /// <summary> /// 厂商信息 /// </summary> Provider, /// <summary> /// 产品信息 /// </summary> Prod, /// <summary> /// 销售单据 /// </summary> SaleOrder, /// <summary> /// 采购单据 /// </summary> StockOrder } #endregion #region 内部成员字段 /// <summary> /// datasource /// </summary> private DataSet _ds; /// <summary> /// 显示的文本 /// </summary> private string _displayText = null ; /// <summary> /// 显示文本对应的值 /// </summary> private string _displayValue = null ; /// <summary> /// 控件类别 /// </summary> private GridLookUpEditType _type = GridLookUpEditType.None; #endregion #region 封装成员字段 /// <summary> /// /// </summary> public DataSet Ds { get { return _ds; } set { _ds = value; } } /// <summary> /// /// </summary> public string DisplayText { get { return _displayText; } set { _displayText = value; } } /// <summary> /// /// </summary> public string DisplayValue { get { return _displayValue; } set { _displayValue = value; } } /// <summary> /// /// </summary> public GridLookUpEditType EditType { get { return _type; } set { _type = value; SetDisplayValue(_type); } } #endregion #region 自动生成代码 /// <summary> /// 构造 /// </summary> public CustomGridLookUpEdit() { InitializeComponent(); } /// <summary> /// 重构 /// </summary> /// <param name="container"></param> public CustomGridLookUpEdit(IContainer container) { container.Add( this ); InitializeComponent(); } #endregion #region 选择对应类别 /// <summary> /// /// </summary> public void SetDisplayValue(GridLookUpEditType type) { switch (type) { case GridLookUpEditType.None: None(); break ; // none case GridLookUpEditType.Customer: CustomerEdit(); break ; // 客户信息 case GridLookUpEditType.Provider: ProviderEdit(); break ; // 厂商信息 case GridLookUpEditType.Prod: ProdEdit(); break ; // 产品信息 case GridLookUpEditType.SaleOrder: SaleOrderEdit(); break ; // 销售订单 case GridLookUpEditType.StockOrder: StockOrderEdit(); break ; // 采购订单 } } /// <summary> /// none /// </summary> private void None() { this .Ds = null ; this .DisplayText = null ; this .DisplayValue = null ; } /// <summary> /// 客户信息 /// </summary> private void CustomerEdit() { this .DisplayText = " Customer " ; this .DisplayValue = " CustomerId " ; // 比较理想的是在这写绑定数据源,可是实现不了 // (new GetDBType()).GetDataBase().GetData(DALClassType.Customer); } /// <summary> /// 产商信息 /// </summary> private void ProviderEdit() { this .DisplayText = " Provider " ; this .DisplayValue = " ProviderId " ; } /// <summary> /// 产品信息 /// </summary> private void ProdEdit() { this .DisplayText = " Prod " ; this .DisplayValue = " ProdId " ; } /// <summary> /// 销售订单 /// </summary> private void SaleOrderEdit() { this .DisplayText = " SaleOrder " ; this .DisplayValue = " SaleOrderId " ; } /// <summary> /// 采购订单 /// </summary> private void StockOrderEdit() { this .DisplayText = " StockOrder " ; this .DisplayValue = " StockOrderId " ; } #endregion #region 数据|逻辑处理 /// <summary> /// 数据绑定 /// </summary> private void DataBinding() { this .Properties.TextEditStyle = TextEditStyles.Standard; this .Properties.DataSource = this ._ds.Tables[ 0 ]; this .Properties.DisplayMember = this ._displayText; this .Properties.ValueMember = this ._displayValue; } #endregion }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值