Exemple #1
0
 private static void SetSearchOperatorsStringColumn(CoreColumn jqColumn, JqGridBuilderColumnModel columnModel)
 {
     //#6188
     //jqColumn.SearchToolBarOperation =
     //    columnModel.AttributeInfo.DefaultSearchToolBarOperation ?? SearchOperation.Contains;
     jqColumn.SearchOptions          = JqGridHelper.GetSearchOperators(typeof(string));
     jqColumn.SearchToolBarOperation = SearchOperation.Contains;
     jqColumn.ShowSearchOperators    = false;
 }
Exemple #2
0
        private void SetSearchOperatorsDateTimeColumn(CoreColumn jqColumn, JqGridBuilderColumnModel columnModel)
        {
            if (columnModel.AttributeInfo.NeedSearchEditorControl)
            {
                jqColumn.SearchType = SearchType.DatePicker;
            }

            jqColumn.SearchToolBarOperation =
                columnModel.AttributeInfo.DefaultSearchToolBarOperation ?? SearchOperation.IsEqualTo;
            jqColumn.SearchOptions    = JqGridHelper.GetSearchOperators(typeof(DateTime));
            jqColumn.DataFormatString = string.IsNullOrEmpty(columnModel.AttributeInfo.DateFormatString)
                ? "{0:dd.MM.yyyy}"
                : columnModel.AttributeInfo.DateFormatString;
        }
Exemple #3
0
        private void SetSearchOperatorsDecimalColumn(CoreColumn jqColumn, JqGridBuilderColumnModel columnModel)
        {
            SetSearchOperatorsIntColumn(jqColumn, columnModel);

            columnModel.AttributeInfo.DecimalFormat = string.IsNullOrEmpty(columnModel.AttributeInfo.DecimalFormat)
                ? "n2"
                : columnModel.AttributeInfo.DecimalFormat;

            var decumalFormatterFunction =
                "function(cell){try{var globalValue=Globalize.parseFloat(cell);if(isNaN(globalValue))" +
                "return '';" +
                "return Globalize.format(globalValue,'" + columnModel.AttributeInfo.DecimalFormat + "');}catch(e){}}";

            jqColumn.Formatter = new CustomFormatter
            {
                FormatFunction = string.IsNullOrEmpty(columnModel.AttributeInfo.CustomFormatFunction)
                    ? decumalFormatterFunction
                    : columnModel.AttributeInfo.CustomFormatFunction
            };
        }
Exemple #4
0
        private void SetSearchOperatorsBoolColumn(CoreColumn jqColumn, JqGridBuilderColumnModel columnModel)
        {
            jqColumn.Formatter = new CheckBoxFormatter {
                Enabled = jqColumn.Editable
            };
            jqColumn.SearchToolBarOperation =
                columnModel.AttributeInfo.DefaultSearchToolBarOperation ?? SearchOperation.IsEqualTo;
            jqColumn.ShowSearchOperators = false;
            jqColumn.SearchOptions       = JqGridHelper.GetSearchOperators(typeof(bool));

            jqColumn.SearchType = SearchType.DropDown;
            jqColumn.SearchList = new List <SelectListItem>
            {
                new SelectListItem {
                    Text = "Все", Value = null
                },
                new SelectListItem {
                    Text = "Да", Value = true.ToString()
                },
                new SelectListItem {
                    Text = "Нет", Value = false.ToString()
                }
            };
        }
Exemple #5
0
        private CoreColumn GetColumn(JqGridBuilderColumnModel columnModel)
        {
            Func <JqGridBuilderColumnModel, string> getDataField = c =>
            {
                var parentNameField = string.Empty;
                if (c.Parent != null)
                {
                    parentNameField = c.Parent.Name + ".";
                }
                return(parentNameField + (c.AttributeInfo.DataField ?? c.PropertyInfo.Name));
            };

            var jqColumn = new CoreColumn
            {
                // временное решение для смарт реестра
                GroupTemplate = columnModel.Parent != null
                    ? columnModel.Parent.GetAttributes <GridIncludedPropertyAttribute>().Select(t => t.ColumnName)
                                .FirstOrDefault()
                    : null,
                //
                DataType   = columnModel.AttributeInfo.DataType ?? columnModel.PropertyInfo.PropertyType,
                DataField  = getDataField(columnModel),
                PrimaryKey = columnModel.AttributeInfo.PrimaryKeyField || columnModel.PropertyInfo.Name == "Id",
                Editable   = columnModel.AttributeInfo.Editable,
                EditType   = columnModel.AttributeInfo.EditType,
                Searchable = !columnModel.AttributeInfo.PrimaryKeyField && columnModel.PropertyInfo.Name != "Id" &&
                             columnModel.AttributeInfo.Searchable,
                HeaderText = GetHeaderText(columnModel.PropertyInfo),
                TextAlign  = TextAlign.Center,
                Visible    = !columnModel.AttributeInfo.PrimaryKeyField && columnModel.PropertyInfo.Name != "Id" &&
                             !columnModel.AttributeInfo.Hidden,
                Width = columnModel.AttributeInfo.Width,
                ShowSearchOperators    = columnModel.AttributeInfo.ShowSearchOperators,
                SortByColumnNameValues = columnModel.AttributeInfo.SortByColumnNameValues ?? string.Empty,
                ShowColumnMenu         = columnModel.AttributeInfo.ColumnMenu,
                //TemplateRendererViewName = "",
                //TemplateRendererViewName =  columnModel.UiHintInfo != null && !columnModel.AttributeInfo.DisableUiHintTemplateRenderer ? columnModel.UiHintInfo.UIHint : string.Empty,//временно отключил
                ColumnMenuOptions = new ColumnMenuOptions
                {
                    Columns = true, Sorting = true
                },                                                                          // move it to attr?
                ExportToExcel = !columnModel.AttributeInfo.PrimaryKeyField && columnModel.PropertyInfo.Name != "Id" &&
                                columnModel.AttributeInfo.ExportToExcel,
                SearchDataField = columnModel.AttributeInfo.SearchDataField,
                Sortable        = columnModel.AttributeInfo.Sortable
            };

            if (jqColumn.DataType == typeof(bool) || jqColumn.DataType == typeof(bool?))
            {
                SetSearchOperatorsBoolColumn(jqColumn, columnModel);
            }
            else if (jqColumn.DataType == typeof(DateTime) ||
                     jqColumn.DataType == typeof(DateTime?))
            {
                SetSearchOperatorsDateTimeColumn(jqColumn, columnModel);
            }
            else if (jqColumn.DataType == typeof(decimal) ||
                     jqColumn.DataType == typeof(decimal?))
            {
                SetSearchOperatorsDecimalColumn(jqColumn, columnModel);
            }
            else if (jqColumn.DataType == typeof(int) ||
                     jqColumn.DataType == typeof(int?))
            {
                SetSearchOperatorsIntColumn(jqColumn, columnModel);
            }
            else if (jqColumn.DataType == typeof(string))
            {
                SetSearchOperatorsStringColumn(jqColumn, columnModel);
            }

            if (!string.IsNullOrEmpty(columnModel.AttributeInfo.CustomFormatFunction))
            {
                jqColumn.Formatter = new CustomFormatter
                {
                    FormatFunction = columnModel.AttributeInfo.CustomFormatFunction
                }
            }
            ;


            if (columnModel.AttributeInfo.DataType == null)
            {
                if (columnModel.PropertyInfo.PropertyType == typeof(int))
                {
                    jqColumn.SearchToolBarOperation =
                        columnModel.AttributeInfo.DefaultSearchToolBarOperation ?? SearchOperation.IsEqualTo;
                    jqColumn.SearchOptions = new List <SearchOperation>
                    {
                        SearchOperation.IsEqualTo
                    };
                }
            }
            else
            {
                if (columnModel.AttributeInfo.DataType == typeof(int))
                {
                    jqColumn.SearchToolBarOperation =
                        columnModel.AttributeInfo.DefaultSearchToolBarOperation ?? SearchOperation.IsEqualTo;
                    jqColumn.SearchOptions = new List <SearchOperation>
                    {
                        SearchOperation.IsEqualTo
                    };
                }
            }

            if (columnModel.AttributeInfo.MultipleSearch)
            {
                jqColumn.SearchToolBarOperation =
                    columnModel.AttributeInfo.DefaultSearchToolBarOperation ?? SearchOperation.IsIn;
                if (jqColumn.SearchOptions != null)
                {
                    jqColumn.SearchOptions.Add(SearchOperation.IsIn);
                }
            }

            jqColumn.SearchOptions =
                jqColumn.SearchOptions.OrderByDescending(t => t == jqColumn.SearchToolBarOperation).ThenBy(t => t)
                .ToList();

            if (columnModel.AttributeInfo.CustomSearchOperations != null &&
                columnModel.AttributeInfo.CustomSearchOperations.Any())
            {
                jqColumn.SearchOptions = columnModel.AttributeInfo.CustomSearchOperations.ToList();
            }

            return(jqColumn);
        }
Exemple #6
0
 private static void SetSearchOperatorsIntColumn(CoreColumn jqColumn, JqGridBuilderColumnModel columnModel)
 {
     jqColumn.SearchToolBarOperation =
         columnModel.AttributeInfo.DefaultSearchToolBarOperation ?? SearchOperation.IsEqualTo;
     jqColumn.SearchOptions = JqGridHelper.GetSearchOperators(typeof(int));
 }