private static JqGridColumnModel CreateJqGridColumnModel(ModelMetadata columnMetadata) { JqGridColumnModel columnModel = new JqGridColumnModel(columnMetadata.PropertyName); TimestampAttribute timeStampAttribute = null; JqGridColumnLayoutAttribute jqGridColumnLayoutAttribute = null; JqGridColumnSortableAttribute jqGridColumnSortableAttribute = null; JqGridColumnFormatterAttribute jqGridColumnFormatterAttribute = null; JqGridColumnSummaryAttribute jqGridColumnSummaryAttribute = null; foreach (Attribute customAttribute in columnMetadata.ContainerType.GetProperty(columnMetadata.PropertyName).GetCustomAttributes(true)) { timeStampAttribute = (customAttribute as TimestampAttribute) ?? timeStampAttribute; jqGridColumnLayoutAttribute = (customAttribute as JqGridColumnLayoutAttribute) ?? jqGridColumnLayoutAttribute; jqGridColumnSortableAttribute = (customAttribute as JqGridColumnSortableAttribute) ?? jqGridColumnSortableAttribute; jqGridColumnFormatterAttribute = (customAttribute as JqGridColumnFormatterAttribute) ?? jqGridColumnFormatterAttribute; jqGridColumnSummaryAttribute = (customAttribute as JqGridColumnSummaryAttribute) ?? jqGridColumnSummaryAttribute; } if (timeStampAttribute != null) { } else { columnModel = SetLayoutOptions(columnModel, jqGridColumnLayoutAttribute); columnModel = SetSortOptions(columnModel, jqGridColumnSortableAttribute); columnModel = SetFormatterOptions(columnModel, jqGridColumnFormatterAttribute); columnModel = SetSummaryOptions(columnModel, jqGridColumnSummaryAttribute); } return(columnModel); }
private static JqGridColumnModel CreateJqGridColumnModel(ModelMetadata columnMetadata, IUrlHelper urlHelper) { JqGridColumnModel columnModel = new JqGridColumnModel(columnMetadata.PropertyName); TimestampAttribute timeStampAttribute = null; RangeAttribute rangeAttribute = null; RequiredAttribute requiredAttribute = null; JqGridColumnLayoutAttribute jqGridColumnLayoutAttribute = null; JqGridColumnSortableAttribute jqGridColumnSortableAttribute = null; JqGridColumnFormatterAttribute jqGridColumnFormatterAttribute = null; JqGridColumnSearchableAttribute jqGridColumnSearchableAttribute = null; JqGridColumnEditableAttribute jqGridColumnEditableAttribute = null; JqGridColumnSummaryAttribute jqGridColumnSummaryAttribute = null; JqGridColumnMappingAttribute jqGridColumnMappingAttribute = null; foreach (Attribute customAttribute in columnMetadata.ContainerType.GetProperty(columnMetadata.PropertyName).GetCustomAttributes(true)) { timeStampAttribute = (customAttribute as TimestampAttribute) ?? timeStampAttribute; rangeAttribute = (customAttribute as RangeAttribute) ?? rangeAttribute; requiredAttribute = (customAttribute as RequiredAttribute) ?? requiredAttribute; jqGridColumnLayoutAttribute = (customAttribute as JqGridColumnLayoutAttribute) ?? jqGridColumnLayoutAttribute; jqGridColumnSortableAttribute = (customAttribute as JqGridColumnSortableAttribute) ?? jqGridColumnSortableAttribute; jqGridColumnFormatterAttribute = (customAttribute as JqGridColumnFormatterAttribute) ?? jqGridColumnFormatterAttribute; jqGridColumnSearchableAttribute = (customAttribute as JqGridColumnSearchableAttribute) ?? jqGridColumnSearchableAttribute; jqGridColumnEditableAttribute = (customAttribute as JqGridColumnEditableAttribute) ?? jqGridColumnEditableAttribute; jqGridColumnSummaryAttribute = (customAttribute as JqGridColumnSummaryAttribute) ?? jqGridColumnSummaryAttribute; jqGridColumnMappingAttribute = (customAttribute as JqGridColumnMappingAttribute) ?? jqGridColumnMappingAttribute; } if (timeStampAttribute != null) { columnModel.Editable = true; columnModel.Hidden = true; } else { columnModel = SetLayoutOptions(columnModel, jqGridColumnLayoutAttribute); columnModel = SetSortOptions(columnModel, jqGridColumnSortableAttribute); columnModel = SetFormatterOptions(columnModel, jqGridColumnFormatterAttribute); columnModel = SetSearchOptions(columnModel, urlHelper, columnMetadata.ModelType, jqGridColumnSearchableAttribute, rangeAttribute); columnModel = SetEditOptions(columnModel, urlHelper, columnMetadata.ModelType, jqGridColumnEditableAttribute, rangeAttribute, requiredAttribute); columnModel = SetDatePickerDateFormatFromFormatter(columnModel, jqGridColumnFormatterAttribute); columnModel = SetSummaryOptions(columnModel, jqGridColumnSummaryAttribute); columnModel = SetMappingOptions(columnModel, jqGridColumnMappingAttribute); } return(columnModel); }
private static JqGridColumnModel SetSortOptions(JqGridColumnModel columnModel, JqGridColumnSortableAttribute jqGridColumnSortableAttribute) { if (jqGridColumnSortableAttribute != null) { columnModel.Index = jqGridColumnSortableAttribute.Index; columnModel.InitialSortingOrder = jqGridColumnSortableAttribute.InitialSortingOrder; columnModel.Sortable = jqGridColumnSortableAttribute.Sortable; columnModel.SortType = jqGridColumnSortableAttribute.SortType; columnModel.SortFunction = jqGridColumnSortableAttribute.SortFunction; } return(columnModel); }