private void SetupStatusFieldData(ref DevExpress.XtraEditors.GridLookUpEdit AGridLookupEdit, ref DataTable ALookupDataTable, string AFilterValue) { ALookupDataTable = new DataTable(); ALookupDataTable = rqmtStatusView.Copy(); ALookupDataTable.PrimaryKey = new DataColumn[] { ALookupDataTable.Columns["RqmtCode"], ALookupDataTable.Columns["Ord"] }; ALookupDataTable.DefaultView.RowFilter = "[RqmtCode] = '" + AFilterValue + "'"; if (AFilterValue == "XQCSP") { ALookupDataTable.DefaultView.RowFilter += " and [ColorCode] <> 'SandyBrown' and [ColorCode] <> 'Gold'"; } else if (AFilterValue == "XQCCP") { ALookupDataTable.DefaultView.RowFilter += " and [StatusCode] <> 'APPR'"; } else if (AFilterValue == "XQBBP") { ALookupDataTable.DefaultView.RowFilter += " and [StatusCode] <> 'APPR'"; } AGridLookupEdit.Properties.DataSource = ALookupDataTable.DefaultView; AGridLookupEdit.Properties.DisplayMember = "Descr"; AGridLookupEdit.Properties.ValueMember = "StatusCode"; }
/// <summary> /// 初始化GridLookUpEdit /// </summary> /// <param name="gridLookUpEdit"></param> public void InitGridLookUpEdit(DevExpress.XtraEditors.GridLookUpEdit gridLookUpEdit) { gridLookUpEdit.Properties.View.OptionsBehavior.AutoPopulateColumns = false; gridLookUpEdit.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; gridLookUpEdit.Properties.View.BestFitColumns(); //glIllFieldName.Properties.View.OptionsView.ShowAutoFilterRow = true; gridLookUpEdit.Properties.ShowFooter = false; //显示不显示grid上第一个空行,也是用于检索的应用(上面的注释) gridLookUpEdit.Properties.ImmediatePopup = true; gridLookUpEdit.Properties.PopupFilterMode = DevExpress.XtraEditors.PopupFilterMode.Contains; gridLookUpEdit.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard; //配置,用于像文本框那样呀,可自己录入,选择,些处是枚举,可自行设置. }
protected object getValue(DevExpress.XtraEditors.GridLookUpEdit cboControl, string strValueMember) { try { DataRow dr = (DataRow)cboControl.GetSelectedDataRow(); return(dr[strValueMember]); } catch (Exception ex) { throw ex; } }
//Procedimiento utilizado para determinar cual campo es requerido public string funControlRequerido(XtraForm frmFormulario, string varCodUsuario, int varCodFormulario, int varCodDocumento, int varCodOperacion, DXErrorProvider dxError) { try { string varMensaje = ""; this.proDtCampos(varCodUsuario, varCodFormulario, varCodDocumento, varCodOperacion); foreach (DataRow drRegistro in dtCampos.Select("CamRequerido = true And CamBloqueado = false")) { string varCamTipo = drRegistro["CamTipo"].ToString(); string varCamNombre = drRegistro["CamNombre"].ToString(); switch (varCamTipo) { case "TextEdit": if (((TextEdit)frmFormulario.Controls.Find(varCamNombre, true)[0]).EditValue.Equals("") || ((TextEdit)frmFormulario.Controls.Find(varCamNombre, true)[0]).EditValue.Equals("0")) { dxError.SetError(((TextEdit)frmFormulario.Controls.Find(varCamNombre, true)[0]), drRegistro["CamError"].ToString(), ErrorType.Critical); varMensaje = drRegistro["CamError"].ToString(); } else { dxError.SetError(((TextEdit)frmFormulario.Controls.Find(varCamNombre, true)[0]), String.Empty); } break; case "ButtonEdit": if (((ButtonEdit)frmFormulario.Controls.Find(varCamNombre, true)[0]).EditValue.Equals("")) { dxError.SetError(((ButtonEdit)frmFormulario.Controls.Find(varCamNombre, true)[0]), drRegistro["CamError"].ToString(), ErrorType.Critical); varMensaje = drRegistro["CamError"].ToString(); } else { dxError.SetError(((ButtonEdit)frmFormulario.Controls.Find(varCamNombre, true)[0]), String.Empty); } break; case "DateEdit": if (((DateEdit)frmFormulario.Controls.Find(varCamNombre, true)[0]).EditValue == null) { dxError.SetError(((ButtonEdit)frmFormulario.Controls.Find(varCamNombre, true)[0]), drRegistro["CamError"].ToString(), ErrorType.Critical); varMensaje = drRegistro["CamError"].ToString(); } else { dxError.SetError(((ButtonEdit)frmFormulario.Controls.Find(varCamNombre, true)[0]), String.Empty); } break; case "GridLookUpEdit": DevExpress.XtraEditors.GridLookUpEdit objGridLookUpEdit = (DevExpress.XtraEditors.GridLookUpEdit)frmFormulario.Controls.Find(varCamNombre, true)[0]; if (objGridLookUpEdit.EditValue == null || objGridLookUpEdit.EditValue.ToString() == "") { dxError.SetError(objGridLookUpEdit, drRegistro["CamError"].ToString(), ErrorType.Critical); varMensaje = drRegistro["CamError"].ToString(); } else { dxError.SetError(objGridLookUpEdit, String.Empty); } break; default: break; } if (!varMensaje.Equals("")) { return(varMensaje); } } return(varMensaje); } catch (Exception) { throw; } }