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; }
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; }
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 }; }
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() } }; }
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); }
private static void SetSearchOperatorsIntColumn(CoreColumn jqColumn, JqGridBuilderColumnModel columnModel) { jqColumn.SearchToolBarOperation = columnModel.AttributeInfo.DefaultSearchToolBarOperation ?? SearchOperation.IsEqualTo; jqColumn.SearchOptions = JqGridHelper.GetSearchOperators(typeof(int)); }