コード例 #1
0
ファイル: Grid.cs プロジェクト: mjasiak/MJmail
 static void PrepareData <T>(IEnumerable <T> data, List <PropertyInfo> props, List <string> columns)
 {
     if (props.Count == 0)
     {
         return;
     }
     if (columns != null)
     {
         foreach (var item in data)
         {
             Row row = new Row("<tr>", "</tr>");
             foreach (var column in columns)
             {
                 foreach (var prop in props)
                 {
                     if (prop.Name == "id" || prop.Name == "ID" || prop.Name == "Id")
                     {
                         row._prefix = "<tr id='" + Encode(prop.GetValue(item, null).ToString()) + "'>";
                         row.ID      = Encode(prop.GetValue(item, null).ToString());
                     }
                     if (prop.Name == column)
                     {
                         row.AddCell(new Cell("<td>", "</td>", prop.GetValue(item, null).ToString(), prop.PropertyType.Name));
                     }
                 }
             }
             rows.AddRow(row);
         }
     }
     else
     {
         foreach (var item in data)
         {
             Row row = new Row("<tr>", "</tr>");
             foreach (var prop in props)
             {
                 if (prop.Name == "id" || prop.Name == "ID" || prop.Name == "Id")
                 {
                     row._prefix = "<tr id='" + Encode(prop.GetValue(item, null).ToString()) + "'>";
                     row.ID      = Encode(prop.GetValue(item, null).ToString());
                 }
                 row.AddCell(new Cell("<td>", "</td>", prop.GetValue(item, null).ToString(), prop.PropertyType.Name));
             }
             rows.AddRow(row);
         }
     }
 }