コード例 #1
0
        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;";
        }