コード例 #1
0
        /// <summary>
        /// Builds the data table.
        /// </summary>
        /// <param name="source">The source.</param>
        /// <param name="columns">The columns.</param>
        /// <returns></returns>
        public static DataTable BuildDataShema(this object source, string[] columns, PropertyEntryColumn extraColumn, settingsEntriesForObject seo = null, DataTable dt = null)
        {
            if (seo == null)
            {
                seo = new settingsEntriesForObject(source);
            }

            if (dt == null)
            {
                dt = new DataTable(source.GetType().Name);
            }
            dt.ExtendedProperties[templateFieldDataTable.shema_sourceinstance] = source;
            dt.ExtendedProperties[templateFieldDataTable.shema_classname]      = source.GetType().Name;

            dt.ExtendedProperties[templateFieldDataTable.shema_dictionary] = source.buildPCE(true, null);

            if (extraColumn.HasFlag(PropertyEntryColumn.autocount_idcolumn))
            {
                dt.Columns.Add(IDCOLUMN).AutoIncrement = true;
            }

            foreach (string col in columns)
            {
                dt.AddToShema(col, source, seo);
            }

            return(dt);
        }
コード例 #2
0
 /// <summary>
 /// Defines the shema for statistics -- horisontal
 /// </summary>
 /// <param name="dc">The dc.</param>
 /// <param name="columns">The columns.</param>
 public static void DefineShemaForStatistics(this DataTable dc, PropertyEntryColumn columns = PropertyEntryColumn.entry_name | PropertyEntryColumn.entry_value | PropertyEntryColumn.role_letter | PropertyEntryColumn.entry_description)
 {
     if (columns.HasFlag(PropertyEntryColumn.entry_name))
     {
         dc.Columns.Add("dc_name").SetHeading("Measure");
     }
     if (columns.HasFlag(PropertyEntryColumn.role_letter))
     {
         dc.Columns.Add("dc_letter").SetHeading(" - ");
     }
     if (columns.HasFlag(PropertyEntryColumn.entry_value))
     {
         dc.Columns.Add("dc_value").SetHeading("Value");
     }
     if (columns.HasFlag(PropertyEntryColumn.entry_description))
     {
         dc.Columns.Add("dc_description").SetHeading("Description");
     }
 }