Пример #1
0
 static private DataTable CreateDTExp(RPT_Report infoRpt)
 {
     try
     {
         DataTable dt     = new DataTable();
         var       result = infoRpt.RPT_ReportColumn.Where(x => x.Enable == true).OrderBy(x => x.OrderBy);
         foreach (RPT_ReportColumn infoRptCl in result)
         {
             try
             {
                 DataColumn dc = new DataColumn(infoRptCl.ColumnName, System.Type.GetType(infoRptCl.ColumnType));
                 dc.Caption = infoRptCl.ColumnFormat; //Namespace
                 dt.Columns.Add(dc);
             }
             catch (Exception ex1)
             {
                 throw ex1;
             }
         }
         return(dt);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #2
0
 static public DataTable BindToDT <T>(RPT_Report infoRpt, List <T> results)
 {
     try
     {
         string    strtmp = string.Empty;
         DataTable dt     = CreateDTExp(infoRpt);
         foreach (T info in results)
         {
             DataRow dr = dt.NewRow();
             //System.Reflection.PropertyInfo[] pros = typeof(T).GetProperties();
             foreach (DataColumn dc in dt.Columns)
             {
                 try
                 {
                     System.Reflection.PropertyInfo infoPro = info.GetType().GetProperty(dc.ColumnName);
                     if (infoPro == null) //if cannot find this column in tmp table
                     {
                         // loggerSum.Info(string.Format("- There is no column '{0}' in the temporary table '{1}'", dc.ColumnName, infoRpt.ReportCode));
                     }
                     else
                     {
                         if (dc.ColumnName == "ETA_date")
                         {
                             strtmp = "beak here";
                         }
                         object obj = info.GetType().GetProperty(dc.ColumnName).GetValue(info, null);
                         if (dc.DataType == typeof(DateTime))
                         {
                             if (obj == null || string.IsNullOrEmpty(obj.ToString()))
                             {
                                 obj = System.DBNull.Value;
                             }
                         }
                         dr[dc] = obj;
                     }
                 }
                 catch (Exception ex1)
                 {
                     throw ex1;
                 }
             }
             dt.Rows.Add(dr);
         }
         return(dt);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #3
0
 static private DataTable CreateDTExp(RPT_Report infoRpt, string columnsName)
 {
     try
     {
         DataTable dt      = new DataTable();
         string[]  columns = columnsName.Split(',');
         foreach (string item in columns)
         {
             //var objReportColumn = infoRpt.RPT_ReportColumn.Where(x => x.ColumnName.ToUpper() == item.ToUpper()).FirstOrDefault();
             var objReportColumn = infoRpt.RPT_ReportColumn.Where(x => x.ColumnName == item).FirstOrDefault();
             if (objReportColumn != null)
             {
                 DataColumn dc = new DataColumn(objReportColumn.ColumnName, System.Type.GetType(objReportColumn.ColumnType));
                 dc.Caption = objReportColumn.ColumnFormat; //Namespace
                 dt.Columns.Add(dc);
             }
         }
         return(dt);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }