protected void OverrideLookupCodes() { if (!String.IsNullOrEmpty(this.LookupCodes)) { char[] splitchar1 = { ',' }; string[] lkpCodeArr = this.LookupCodes.Split(splitchar1); List <ICaisisInputControl> cicList = PageUtil.GetCaisisInputControlsInContainer(this); foreach (ICaisisInputControl con in cicList) { if (con is ICaisisLookupControl) { foreach (string s in lkpCodeArr) { // [0] is TableName, [1] is FieldName, [2] is LookupCodeName: i.e. Procedures.ProcName.ProcName char[] splitchar2 = { '.' }; string[] parsed = s.Trim().Split(splitchar2); if (parsed.Length > 2 && parsed[0].Equals(con.Table) && parsed[1].Equals(con.Field)) { ICaisisLookupControl lkpControl = (ICaisisLookupControl)con; lkpControl.LookupCode = parsed[2]; } } } } } }
public void CustomizeControl(ICaisisInputControl control, string tablename, string fieldname) { if (Caisis.BOL.BusinessObject.HasLabel(tablename, fieldname)) { string label = Caisis.BOL.BusinessObject.GetLabel(tablename, fieldname); if (string.IsNullOrEmpty(label) && !fieldname.Contains("Date")) { control.FieldLabel = fieldname; } else { control.FieldLabel = Caisis.BOL.BusinessObject.GetLabel(tablename, fieldname); } } // description if (Caisis.BOL.BusinessObject.HasDescription(tablename, fieldname)) { control.HelpDescription = Caisis.BOL.BusinessObject.GetDescription(tablename, fieldname); } // required control.Required = Caisis.BOL.BusinessObject.IsRequired(tablename, fieldname); Action <string, Action <string> > setProp = (att, setter) => { if (Caisis.BOL.BusinessObject.HasMetadataFieldAttribute(tablename, fieldname, att)) { setter(Caisis.BOL.BusinessObject.GetMetadataFieldAttribute(tablename, fieldname, att)); } }; // javascript Action <string, string> handleJs = (att, eventName) => { setProp(att, s => CICHelper.HandleJsEventAttribute(control as WebControl, eventName, s)); }; if (control is WebControl) { handleJs("jsOnBlur", "onblur"); handleJs("jsOnClick", "onclick"); handleJs("jsOnSelectedIndexChanged", "onselectedindexchanged"); setProp("FieldWidth", s => (control as WebControl).Style.Add("width", s + "px")); } // lookup controls if (control is ICaisisLookupControl) { ICaisisLookupControl c = control as ICaisisLookupControl; setProp("LookupDistinct", s => c.LookupDistinct = s); setProp("LookupCode", s => c.LookupCode = s); setProp("CascadeValuesBasedOn", s => c.CascadeValuesBasedOn = s); setProp("CascadeFormatString", s => c.CascadeFormatString = s); } // text box MaxLength if (control is TextBox) { setProp("MaxLength", s => { int maxLength = 0; if (int.TryParse(s, out maxLength)) { (control as TextBox).MaxLength = maxLength; } }); } Func <string, bool> isSet = s => { string val = ""; bool parsed; setProp(s, x => val = x); return(bool.TryParse(val, out parsed) && parsed); }; // CaisisTextBox if (control is CaisisTextBox) { CaisisTextBox tb = control as CaisisTextBox; tb.ShowCalendar = isSet("ShowCalendar"); tb.CalcDate = isSet("CalcDate"); tb.ShowNumberPad = isSet("ShowNumberPad"); tb.ReadOnly = isSet("ReadOnly"); tb.ShowTextEditor = isSet("ShowTextEditor"); tb.ShowICDWizard = isSet("ShowICDWizard"); } // CaisisTextArea if (control is CaisisTextArea) { (control as CaisisTextArea).ShowTextEditor = isSet("ShowTextEditor"); } // CaisisHidden if (control is CaisisHidden) { CaisisHidden h = control as CaisisHidden; h.DisplayCalculatedDate = isSet("DisplayCalculatedDate"); h.DisplayHiddenValue = isSet("DisplayHiddenValue"); h.ShowICDWizard = isSet("ShowICDWizard"); } }