设置列表DevExpress.XtraEditors.LookUpEdit数据源

为DevExpress.XtraEditors.LookUpEdit控件设置数据源有两种表现形式:

image

如上图所示:一个查询窗口,要求在首次显示窗口时对LookUpEdit系列控件设置数据源,在点击〈清除〉按钮时,LookUpEdit的editTest设置为空。

其中:A系列LookUpEdit控件被绑定到多列数据,在用户更改选择项时,要将所选项中的一列值赋值到右边的文本框。

        B系列LookUpEdit控件被绑定到单列或两列数据源。

具体实现:

I:

   1:   public frmTestReport_select()
   2:          {
   3:              InitializeComponent();
   4:   
   5:              this.lueTestBillType.EditValueChanged += delegate { SetDataBindTestBillTypeToLookUpEdit(); };
   6:              this.lueProductCategory.EditValueChanged += delegate { SetDataBindProductCategoryToLookUpEdit(); };
   7:              this.lueProductColor.EditValueChanged += delegate { SetDataBindProductColorToLookUpEdit(); };
   8:              this.lueProductUnit.EditValueChanged += delegate { SetDataBindProductUnitToLookUpEdit(); };
   9:              this.lueTestPerson.EditValueChanged += delegate { SetDataBindTestPersonToLookUpEdit(); };
  10:   
  11:   
  12:              this.SetLoadData();
  13:   
  14:              this.lueTestBillType.EditValue = "";//原本是NULL,这里改为“”,是为了触发事件,在第一次加载时加载列表数据源
  15:          }

II:

   1:    /// <summary>
   2:          /// 绑定列表控件的数据源
   3:          /// </summary>
   4:          private void SetDataBindTestBillTypeToLookUpEdit()
   5:          {
   6:              if (this.lueTestBillType.Properties.DataSource == null)
   7:              {
   8:                  string valueMember = "ID";
   9:                  string displayMember = "检验工序";
  10:                  DataTable dt = bll.comm.CommSelect.GetTestBillTypeItem();
  11:                  commUiMethod.commUiMethod.setLookUpEditDataSource(this.lueTestBillType, dt, valueMember, displayMember, false);
  12:              }
  13:              if (this.lueTestBillType.EditorContainsFocus)
  14:              {
  15:                  this.txtTestBillCaption.Text=this.lueTestBillType.GetColumnValue("报告名称").ToString();
  16:              }
  17:             
  18:          }

III:

   1:   /// <summary>
   2:          /// 清除窗体生成的SQL语句,回到初始状态
   3:          /// </summary>
   4:          protected override void SetLoadData()
   5:          {
   6:              this.lueTestBillType.EditValue =null;//这里不是""
   7:              this.txtTestBillCaption.Text = "";
   8:              this.txtTestBillNum.Text = "";
   9:              this.txtProductCode.Text = "";
  10:              this.txtProductDes.Text = "";
  11:              this.txtProductNum.Text = "";
  12:              this.lueProductCategory.EditValue = "";
  13:              this.lueProductColor.EditValue = "";
  14:              this.lueProductUnit.EditValue = "";
  15:              this.lueTestPerson.EditValue = "";
  16:              this.cboTestResult.EditValue = "";
  17:              this.radioGroup1.EditValue = 0;
  18:          }
posted @ 2011-09-10 10:41  angtianqiang  阅读(3120)  评论(0编辑  收藏  举报