none
DataTable to html RRS feed

  • Soru

  • Merhaba arkadaşlar,

    datatable to html yapmak istiyorum. Yani veri çekiyorum. Bu sorguda iç içe for döngüm var. Döngü oldukça td>p>span>b olacak şekilde olmasını istiyorum. Tabiki bu aralara c# değişkenler gelecek.

    Kod aşağıdaki şekilde.

    <tr>
                 
                     if (dt1.Rows.Count > 0)
                     {
                      
                    for (int i = 0; i < dt1.Rows.Count; i++)
                    {
                         mail.CC.Add(dt1.Rows[i][""].ToString());
                      
                         for (int x = 0; x < dt2.Rows.Count; x++)
                         {   
                             DataTable dt2 = Variable(dt1.Rows[x]["Email"].ToString());
                             mail.TO.Add(dt2.Rows[x]["Email"].ToString()); 
                
                                                
                   <td align='center'>
                     <p style='width: 555px'>
                       <span style='font-family: 'OpenSans', serif; font-size: 12pt'>
                        <?=chcad.Value> -
                         <b style='text-transform: uppercase; color: red;'>
                           <?=chcHafta.Value>.
                         </b>
                          Hafta 
                           <b style='text-transform: uppercase; color: green;'>
                          ( <?=chcHaftaBasi.Value> - <?=chcHaftaSonu.Value> )
                         </b>
                         arasında
                         <b style='text-transform: uppercase; color: red;'>
                          <?=chcSaat.Value>
                         </b>
                          Saat efor girmişsiniz. Lütfen
                         <b style='text-transform: uppercase; color: red;'>
                          <?=chcGirilecekSaat.Value>
                         </b>
                         saat kadar efor girişi yapınız.
                           Toplam girilecek Saat :
                         <b style='text-transform: uppercase; color: red;'>
                          <?=chcToplamSaat.Value>
                         </b>
                         
                       </span>
                     </p>
                     <br><br>
                    
                   </td>
     
                   }
                   }
                    
                    
                 </tr>
               </table>
             </td>
           </tr>

    22 Temmuz 2019 Pazartesi 15:50

Tüm Yanıtlar

  • C# da XML oluşturan yapılar hali hazırda var, bunları LinQ ile harmanlamak bence en güzeli. Yapmak istediğinizi anlamadım ama DataTable'ı HTML'e böyle çevirirdim ben olsam

    static string Donustur(DataTable dt)
    {
    	return new XDocument(
    				new XElement("table",
    					new XElement("thead",
    	   					new XElement("tr", dt.Columns
    											.OfType<DataColumn>()
    											.Select(sutun => new XElement("th", sutun.ColumnName)))),
    					new XElement("tbody", dt.Rows
    											.OfType<DataRow>()
    											.Select(satir => new XElement("tr", Enumerable.Range(0, dt.Columns.Count)
    																							.Select(hucre => new XElement("td", satir[hucre])))))
    	   )
       ).ToString();
    }

    Ama artık 2019 da DataTable kullanmak ne derece mantıklı onu bilemedim.


    www.cihanyakar.com

    22 Temmuz 2019 Pazartesi 16:56
  • Evet ama maalesef böyle kullanmam lazım. Mail şablonu olduğu için kullanmam lazım. Benim koduma uygun şekilde nasıl yapabilirim. td lerden sonra p span vb. tagleri nasıl koyabilirim.
    22 Temmuz 2019 Pazartesi 17:23