/// <summary> /// 通过主键值,获取用于显示的字段值 /// </summary> /// <param name="pkid">主键值</param> /// <returns></returns> /// <remarks>主要用于设置SelectedValue后,自动带出SelectedText</remarks> public string GetDisplayValueFromPKID(string pkid) { if (pkid == null || pkid == string.Empty) { pkid = "-1"; } BusinessFilter filter = new BusinessFilter(this.BusinessObjectName); filter.AddFilterItem(this.PKField.FieldName, pkid, Operation.Equal, FilterType.NumberType, AndOr.AND); this.BusinessObject.SessionInstance = new Wicresoft.Session.Session(); this.BusinessObject.ClearFilter(); this.BusinessObject.AddFilter(filter); this.BusinessObject.Load(); if (this.BusinessObject.HaveRecord) { FieldInfo fldInfo = this.BusinessObject.GetType().GetField(this.DisplayField.FieldName); Field field = fldInfo.GetValue(this.BusinessObject) as Field; PropertyInfo proInfo = fldInfo.FieldType.GetProperty("Value"); return(proInfo.GetValue(field, null).ToString()); } return(string.Empty); }
/// <summary> /// Test Version 2006-5-17 Tony Zhang /// </summary> /// <param name="key"></param> /// <param name="value"></param> /// <returns></returns> public BusinessObject GetBindingObject(string key, string value) { BusinessFilter filter = new BusinessFilter(this.BusinessObjectName); filter.AddFilterItem(key, value, Operation.Equal, FilterType.StringType, AndOr.AND); this.BusinessObject.SessionInstance = new Wicresoft.Session.Session(); this.BusinessObject.ClearFilter(); this.BusinessObject.AddFilter(filter); this.BusinessObject.Load(); return((this.BusinessObject.HaveRecord)?this.BusinessObject:null); }
/// <summary> /// 根据PKID获取对象,用于获取外键对象 /// </summary> /// <param name="objectName">外键对象名</param> /// <returns></returns> public BusinessObject GetBusinessObject(string objectName) { BusinessFilter filter = new BusinessFilter(objectName); filter.AddFilterItem("PKID", this.Value.ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND); BusinessObjectCollection boc = new BusinessObjectCollection(objectName); boc.AddFilter(filter); boc.SessionInstance = new Wicresoft.Session.Session(); boc.Query(); if (boc.Count > 0) { boc[0].HaveRecord = true; return(boc[0]); } return(null); }