コード例 #1
0
        /// <summary>
        /// Method to specify column definitions for the current instance.
        /// </summary>
        /// <param name="columnDefinitionsExt">Object containing the array of column definitions.</param>
        /// <param name="columnIndex">0-based index of the column being defined.</param>
        /// <param name="sourceColumnName">Name to assign to the column. This will become the column header for the output.</param>
        /// <param name="columnLength">Length in bytes of the column. </param>
        /// <param name="columnDataAlignment">See <see cref="PFDataAlign"/> enumeration.</param>
        /// <remarks>If sourceColumnName is longer than columnLength, the sourceColumnName value will be truncated to columnLength.</remarks>
        public static void SetColumnDefinitionExt(PFColumnDefinitionsExt columnDefinitionsExt,
                                                  int columnIndex,
                                                  string sourceColumnName,
                                                  int columnLength,
                                                  PFDataAlign columnDataAlignment)
        {
            int minColLen = 1;
            int maxColumnLengthOverride   = 1024;
            int defaultStringColumnLength = 255;

            string colName    = sourceColumnName;
            string newColName = string.Empty;
            int    colLen     = columnLength > maxColumnLengthOverride ? maxColumnLengthOverride : columnLength;

            if (colLen < minColLen)
            {
                colLen = defaultStringColumnLength;
            }
            if (colName.Length > colLen)
            {
                colName = colName.Substring(0, colLen);
            }

            columnDefinitionsExt.ColumnDefinition[columnIndex].SourceColumnName          = sourceColumnName;
            columnDefinitionsExt.ColumnDefinition[columnIndex].OutputColumnName          = colName;
            columnDefinitionsExt.ColumnDefinition[columnIndex].OutputColumnLength        = colLen;
            columnDefinitionsExt.ColumnDefinition[columnIndex].OutputColumnDataAlignment = columnDataAlignment;
        }
コード例 #2
0
        /// <summary>
        /// Makes a deep copy of the current instance to a new instance.
        /// </summary>
        /// <returns>New instance of PFColumnDefinitionsExt object.</returns>
        public PFColumnDefinitionsExt Copy()
        {
            string xmlString = this.ToXmlString();
            PFColumnDefinitionsExt newInstance = PFColumnDefinitionsExt.LoadFromXmlString(xmlString);

            return(newInstance);
        }
コード例 #3
0
 /// <summary>
 /// Constructor for class. Will create objects to hold data values for each of the columns defined in the colDefs parameter.
 /// </summary>
 /// <param name="colDefs">Objects containing column definitions.</param>
 public PFColumnDataExt(PFColumnDefinitionsExt colDefs)
 {
     _columnDefinitionsExt = colDefs;
     _columnDataValue      = new PFColData[colDefs.ColumnDefinition.Length];
     for (int i = 0; i < colDefs.ColumnDefinition.Length; i++)
     {
         ColumnDataValue[i] = new PFColData();
     }
 }
コード例 #4
0
        //methods

        /// <summary>
        /// Routine to return a list of columns
        /// </summary>
        /// <param name="dt">DataTable object containing columns.</param>
        /// <returns>Object containing column definitions. Definitions include both source and output column names.</returns>
        public static PFColumnDefinitionsExt GetColumnDefinitionsExt(DataTable dt)
        {
            if (dt.Columns == null)
            {
                return(new PFColumnDefinitionsExt());
            }
            if (dt.Columns.Count < 1)
            {
                return(new PFColumnDefinitionsExt());
            }

            PFColumnDefinitionsExt columnDefinitionsExt = new PFColumnDefinitionsExt(dt.Columns.Count);
            int colInx                = 0;
            int maxColInx             = dt.Columns.Count - 1;
            int colLen                = -1;
            DataColumnCollection cols = dt.Columns;

            for (colInx = 0; colInx <= maxColInx; colInx++)
            {
                if (PFFixedLengthDataLine.DataTypeIsNumeric(cols[colInx].DataType))
                {
                    colLen = PFFixedLengthDataLine.GetNumericTypeMaxExtractLength(cols[colInx].DataType);
                }
                else if (PFFixedLengthDataLine.DataTypeIsDateTime(cols[colInx].DataType))
                {
                    colLen = PFFixedLengthDataLine.GetDateTimeTypeMaxExtractLength(cols[colInx].DataType);
                }
                else
                {
                    colLen = cols[colInx].MaxLength;
                }

                SetColumnDefinitionExt(columnDefinitionsExt, colInx, cols[colInx].ColumnName, colLen, PFDataAlign.LeftJustify);
            }


            return(columnDefinitionsExt);
        }