public virtual void SetEventId() { string selectedValue = null; // figure out the selectedValue // Set the EventId QuickSelector on the webpage with value from the // DatabaseOLR_db%dbo.RegistrationTypes database record. // this.DataSource is the DatabaseOLR_db%dbo.RegistrationTypes record retrieved from the database. // this.EventId is the ASP:QuickSelector on the webpage. // You can modify this method directly, or replace it with a call to // base.SetEventId(); // and add your own custom code before or after the call to the base function. // Default Value could also be NULL. if (this.DataSource != null && this.DataSource.IsCreated) { selectedValue = this.DataSource.EventId.ToString(); } else { selectedValue = EvaluateFormula("URL(\"EventId\")"); } // Add the Please Select item. if (selectedValue == null || selectedValue == "") { MiscUtils.ResetSelectedItem(this.EventId, new ListItem(this.Page.GetResourceValue("Txt:PleaseSelect", "OLR"), "--PLEASE_SELECT--")); } // Populate the item(s) to the control this.EventId.SetFieldMaxLength(50); System.Collections.Generic.IDictionary <string, object> variables = new System.Collections.Generic.Dictionary <string, object>(); FormulaEvaluator evaluator = new FormulaEvaluator(); if (selectedValue != null && selectedValue.Trim() != "" && !MiscUtils.SetSelectedValue(this.EventId, selectedValue) && !MiscUtils.SetSelectedDisplayText(this.EventId, selectedValue)) { // construct a whereclause to query a record with DatabaseOLR_db%dbo.Events.EventId = selectedValue CompoundFilter filter2 = new CompoundFilter(CompoundFilter.CompoundingOperators.And_Operator, null); WhereClause whereClause2 = new WhereClause(); filter2.AddFilter(new BaseClasses.Data.ColumnValueFilter(EventsTable.EventId, selectedValue, BaseClasses.Data.BaseFilter.ComparisonOperator.EqualsTo, false)); whereClause2.AddFilter(filter2, CompoundFilter.CompoundingOperators.And_Operator); // Execute the query try { EventsRecord[] rc = EventsTable.GetRecords(whereClause2, new OrderBy(false, false), 0, 1); System.Collections.Generic.IDictionary <string, object> vars = new System.Collections.Generic.Dictionary <string, object> (); // if find a record, add it to the dropdown and set it as selected item if (rc != null && rc.Length == 1) { EventsRecord itemValue = rc[0]; string cvalue = null; string fvalue = null; if (itemValue.EventIdSpecified) { cvalue = itemValue.EventId.ToString(); } Boolean _isExpandableNonCompositeForeignKey = RegistrationTypesTable.Instance.TableDefinition.IsExpandableNonCompositeForeignKey(RegistrationTypesTable.EventId); if (_isExpandableNonCompositeForeignKey && RegistrationTypesTable.EventId.IsApplyDisplayAs) { fvalue = RegistrationTypesTable.GetDFKA(itemValue, RegistrationTypesTable.EventId); } if ((!_isExpandableNonCompositeForeignKey) || (String.IsNullOrEmpty(fvalue))) { fvalue = itemValue.Format(EventsTable.EventId); } if (fvalue == null || fvalue.Trim() == "") { fvalue = cvalue; } MiscUtils.ResetSelectedItem(this.EventId, new ListItem(fvalue, cvalue)); } } catch { } } string url = this.ModifyRedirectUrl("../Events/Events-QuickSelector.aspx", "", true); url = this.Page.ModifyRedirectUrl(url, "", true); url += "?Target=" + this.EventId.ClientID + "&Formula=" + (this.Page as BaseApplicationPage).Encrypt("=Events.EventName") + "&IndexField=" + (this.Page as BaseApplicationPage).Encrypt("EventId") + "&EmptyValue=" + (this.Page as BaseApplicationPage).Encrypt("--PLEASE_SELECT--") + "&EmptyDisplayText=" + (this.Page as BaseApplicationPage).Encrypt(this.Page.GetResourceValue("Txt:PleaseSelect")) + "&Mode=" + (this.Page as BaseApplicationPage).Encrypt("FieldValueSingleSelection") + "&RedirectStyle=" + (this.Page as BaseApplicationPage).Encrypt("Popup"); this.EventId.Attributes["onClick"] = "initializePopupPage(this, '" + url + "', " + Convert.ToString(EventId.AutoPostBack).ToLower() + ", event); return false;"; }