Beispiel #1
0
 /// <summary>
 /// Raises the <see cref="Selecting"/> event.
 /// </summary>
 /// <param name="args">The <see cref="NIntegrate.Web.EventArgs.DataSourceSelectingEventArgs"/> instance containing the event data.</param>
 internal void OnSelecting(DataSourceSelectingEventArgs args)
 {
     if (Selecting != null)
     {
         Selecting(this, args);
     }
 }
Beispiel #2
0
        protected override IEnumerable ExecuteSelect(DataSourceSelectArguments arguments)
        {
            if (_owner.Criteria == null)
            {
                throw new ArgumentException("Missing QueryTableType or Criteria setting on QueryDataSource");
            }

            var adjustedParameterValues = _owner.CriteriaParameters.GetValues(HttpContext.Current, _owner);
            var en = adjustedParameterValues.GetEnumerator();

            while (en.MoveNext())
            {
                _owner.Criteria.UpdateIdentifiedParameterValue(en.Key.ToString(), en.Value);
            }
            var selectingArgs = new DataSourceSelectingEventArgs(_owner.Criteria, adjustedParameterValues);

            _owner.OnSelecting(selectingArgs);
            if (selectingArgs.Cancel)
            {
                return(selectingArgs.Result != null ? new DataView(selectingArgs.Result) : null);
            }

            var criteria = _owner.Criteria.Clone();

            if (arguments != null && arguments != DataSourceSelectArguments.Empty)
            {
                //adjust criteria according to arguments
                if (arguments.RetrieveTotalRowCount)
                {
                    arguments.TotalRowCount = _owner.QueryService.Execute(criteria, true);
                    _owner.LastTotalCount   = arguments.TotalRowCount;
                }
                if (arguments.MaximumRows > 0)
                {
                    criteria.SetMaxResults(arguments.MaximumRows);
                }
                if (arguments.StartRowIndex > 0)
                {
                    criteria.SetSkipResults(arguments.StartRowIndex);
                }
                if (!string.IsNullOrEmpty(arguments.SortExpression))
                {
                    if (_owner.AlwaysAppendDefaultSortBysWhenSorting)
                    {
                        InsertSortExpressinAtTopOfSortBys(arguments.SortExpression, criteria);
                    }
                    else
                    {
                        criteria.SortBys.Clear();
                        AppendSortExpression(criteria, arguments.SortExpression);
                    }
                }
            }

            var result = _owner.QueryService.Query(criteria);

            _owner.OnSelected(new DataSourceSelectedEventArgs(result));

            return(new DataView(result));
        }
Beispiel #3
0
        protected void jdsrefFirstDictionary_Selecting(object sender, DataSourceSelectingEventArgs e)
        {
            var parameters = new BrowseFilterParameters();

            GetBrowseFilterParameters_refFirstDictionary(parameters, _gridColumns);

            // todo: реализовать передачу SelectParameters
            // jdsrefFirstDictionary.BaseView.SelectParameters = Get_refFirstDictionarySelectParameters();
            var control =
                jdsrefFirstDictionary.BaseView.CreateDefaultFilter(
                    "SampleDictionaries.UserControls.DIC_MyFirstDictionaryFilter",
                    "DIC_MyFirstDictionary",
                    "none",
                    null,
                    parameters,
                    e.DB);

            e.FilterControl = control;
        }
 protected void Source_Selecting(object sender, DataSourceSelectingEventArgs e)
 {
     e.FilterControl = GetFilterControl((DBDataContext)e.DB);
 }