private DataSet ParseExcel(ExcelPackage package) { if (package == null) { return(null); } try { var result = new DataSet(); foreach (var sheet in package.Workbook.Worksheets) { if ((sheet?.Dimension?.End?.Row ?? 0) <= 0) { continue; } if ((sheet?.Dimension?.End?.Column ?? 0) <= 0) { continue; } var table = new DataTable { TableName = sheet.Name }; var totalRows = Math.Min(sheet.Dimension.End.Row, MAX_PREVIEW_ROWS); var totalColumns = Math.Min(sheet.Dimension.End.Column, Constants.MAX_COLUMNS); ColumnsNames.Clear(); for (var columnIndex = sheet.Dimension.Start.Column; columnIndex <= totalColumns; columnIndex++) { var columnName = ExcelCellAddress.GetColumnLetter(columnIndex); table.Columns.Add(columnName); ColumnsNames.Add(columnName); } for (var rowIndex = sheet.Dimension.Start.Row; rowIndex <= totalRows; rowIndex++) { var row = table.Rows.Add(); for (var columnIndex = sheet.Dimension.Start.Column; columnIndex <= totalColumns; columnIndex++) { var columnName = ExcelCellAddress.GetColumnLetter(columnIndex); row[columnName] = sheet.Cells[columnName + rowIndex].Value; } } result.Tables.Add(table); } return(result); } catch (Exception ex) { ColumnsNames.Clear(); _eventAggregator.PublishOnUIThread(ex); return(null); } }
/// <summary> /// Initializes a new instance of the JqGridOptions class. /// </summary> /// <param name="id">Identifier, which will be used for table (id='{0}'), pager div (id='{0}Pager'), filter grid div (id='{0}Search') and in JavaScript.</param> public JqGridOptions(string id) : base(id) { JqGridModelMetadata = ModelMetadataProviders.Current.GetMetadataForType(null, typeof(TModel)); foreach (ModelMetadata propertyMetadata in JqGridModelMetadata.Properties.Where(p => p.IsValidForColumn())) { JqGridColumnModel columnModel = new JqGridColumnModel(propertyMetadata); ColumnsModels.Add(columnModel); ColumnsNames.Add(propertyMetadata.GetDisplayName()); } }
public TestModel(List <Field> fields, List <Block> blocks, List <string> Properties) { foreach (var item in fields) { this.fields.Add(ModelHelpers.ConvertToPascalCasePattern(item.Name)); } this.Properties = Properties; fields.ForEach(field => ColumnsNames.Add(field.NameDisplayedInMibPage)); fields.ForEach((Action <Field>)(field => { if (field.IsRequired) { this._requiredFields.Add(field.NameDisplayedInMibPage); } })); blocks.ForEach((Action <Block>)(block => { this._allBlocksList.Add(block.Name); })); }
/// <summary> /// Initializes a new instance of the JqGridSubgridModel class. /// </summary> public JqGridSubgridModel() { ModelMetadata modelMetadata = ModelMetadataProviders.Current.GetMetadataForType(null, typeof(TModel)); foreach (ModelMetadata propertyMetadata in modelMetadata.Properties.Where(p => p.ShowForDisplay && !p.IsComplexType)) { IEnumerable <object> customAttributes = propertyMetadata.ContainerType.GetProperty(propertyMetadata.PropertyName).GetCustomAttributes(true).AsEnumerable(); JqGridColumnLayoutAttribute columnLayoutAttribute = customAttributes.OfType <JqGridColumnLayoutAttribute>().FirstOrDefault(); if (columnLayoutAttribute != null) { ColumnsAlignments.Add(columnLayoutAttribute.Alignment); ColumnsWidths.Add(columnLayoutAttribute.Width); } else { ColumnsAlignments.Add(JqGridAlignments.Left); ColumnsWidths.Add(150); } ColumnsNames.Add(propertyMetadata.GetDisplayName()); } }
public ListPageModel(List <Field> fields) { fields.ForEach(field => ColumnsNames.Add(field.Name.ToUpper())); }