예제 #1
0
 void filterDialog_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     if (filterDialog.DialogResult == true)
     {
         filterValues = filterDialog.PropValuePair;
         PropSort     = filterDialog.PropSort;
         BindGrid();
         pivotDgInvTrans.RefreshData();
     }
     e.Cancel = true;
     filterDialog.Hide();
 }
        private void FilterDialog_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (filterDialog.DialogResult == true)
            {
                var filtersProps = filterDialog.Filters.Select(p => new FilterProperties()
                {
                    PropertyName = p.name, UserInput = p.value, ParameterType = p.parameterType
                });
                filterValues = filterDialog.PropValuePair;
                PropSort     = filterDialog.PropSort;
                if (lstOfFilters.ContainsKey(selectedDataSourceName))
                {
                    if (filterValues == null || filterValues.Count() == 0)
                    {
                        lstOfFilters.Remove(selectedDataSourceName);
                    }
                    else
                    {
                        lstOfFilters[selectedDataSourceName] = filterValues;
                    }
                }
                else
                {
                    if (filterValues != null && filterValues.Count() > 0)
                    {
                        lstOfFilters.Add(selectedDataSourceName, filterValues);
                    }
                }

                if (lstOfNewFilters.ContainsKey(selectedDataSourceName))
                {
                    if (filtersProps == null || filtersProps.Count() == 0)
                    {
                        lstOfNewFilters.Remove(selectedDataSourceName);
                    }
                    else
                    {
                        lstOfNewFilters[selectedDataSourceName] = filtersProps?.ToList();
                    }
                }
                else
                {
                    if (filtersProps != null && filtersProps.Count() > 0)
                    {
                        lstOfNewFilters.Add(selectedDataSourceName, filtersProps?.ToList());
                    }
                }

                if (lstOfSorters.ContainsKey(selectedDataSourceName))
                {
                    if (PropSort == null || PropSort.sortingProperties.Count() == 0)
                    {
                        lstOfSorters.Remove(selectedDataSourceName);
                    }
                    else
                    {
                        lstOfSorters[selectedDataSourceName] = PropSort;
                    }
                }
                else
                {
                    if (PropSort != null && PropSort.sortingProperties.Count() > 0)
                    {
                        lstOfSorters.Add(selectedDataSourceName, PropSort);
                    }
                }
                LoadOnOpen = true;
                DataDashboardItem dataItem = FocusedItem as DataDashboardItem;
                if (dataItem == null)
                {
                    return;
                }
                string dsComponentName = dataItem.DataSource.ComponentName;
                if (!dataSourceLoadingParams.Contains(dsComponentName))
                {
                    dataSourceLoadingParams.Add(dsComponentName);
                }
                dashboardViewerUniconta.ReloadData();
            }
            e.Cancel = true;
            filterDialog.Hide();
        }