2016-03-23 17 views
1

Tablo + mytable sütunlarını içeren bir e-posta göndermek için SQL + HTML komut dosyası kullanıyorum. Şu anda, tüm sütun başlıklarının merkezi olarak hizalanmış ve her sütun girdisi, [th] ve [td] kullanılarak, sağa hizalı bir şekilde hizalanmıştır. Her şeyi aynı tutarken Vendor sütununda sola hizalanmış girişleri nasıl yapabilirim?

Bu sorun uzun zamandır beni rahatsız ediyor. Bir yardım eli için minnettar olurum.SQL + HTML komut dosyası tarafından oluşturulan bir e-postasında stil sütun girişleri

if(@@ROWCOUNT>0) 
     begin 
      --drop table #email 
      DECLARE @Body2 varchar(max) 
      declare @TableHead2 varchar(max) 
      declare @TableTail varchar(max) 
      Set @TableTail = '</table></body></html>'; 

    Set @TableHead2 = '<html><head>' + 
      '<hr style="height:1px;border:none;color:#333;background-color:#333;">'+ 
      '<H5 style="color: #000000; font-family:Arial">2: VENDOR LEVEL TOP 5 OUTL $ <font color="blue">INCREMENTS -</font></H5>' + 
      '<style>' + 

      'td {border: solid black 1px;padding-left:5px;padding-right:5px;padding-top:1px;padding-bottom:1px;font-size:10pt;color:Black;text-align:right;font-family:Arial;} ' + 
      'th {border: solid black 1px;padding-left:5px;padding-right:5px;padding-top:1px;padding-bottom:1px;font-size:10pt;color:Black;text-align:center;font-family:Arial;} ' + 
      '</style>' + 
      '</head>' + 
      '<body><table cellpadding=0 cellspacing=0 border=0 width=auto>' + 
      '<tr bgcolor=#007336>'+ 
      '<th><b><font color="white">Vendor_Name</font></b></th>' + 
      '<th><b><font color="white">OUTL$ New</font></b></th>' + 
      '<th><b><font color="white">OUTL$ Old</font></b></th>' + 
      '<th><b><font color="white">OUTL$ Diff</font></b></th>' + 
      '<th><b><font color="white">Analyst_Name</font></b></th></tr>'; 

      --Select information for the Report-- 
      Select @Body2= (select 
         Vendor_Name As [TD] 
         ,OUTL_New_$ As [TD] 
         ,OUTL_Old_$ As [TD] 
         ,OUTL_Diff_$ As [TD] 
         ,Analyst_Name As [TD] 

      from #mytable 
      For XML raw('tr'), Elements) 

      Set @Body = @TableHead2 + @Body2 + @TableTail 

      EXEC msdb.dbo.sp_send_dbmail 
      @recipients='[email protected]', 
      @subject = My analysis', 
      @body = @Body, 
      @body_format = 'HTML'; 
     end 

cevap

0

Yazı tipi ailesi önce: Arial; 'Align; left;' eklerdim Ardından $ işaretinizden sonra bir H5 etiketi, ardından yeni bir H5 etiketi ekleyin.
Burada gördüğüm şey, görüntülenen metin boyunca atanan 2 stil özniteliğidir. Ayrı sol ve sağ H5 göstergeleri yapmak için ekstra yakın ve açık etiketi kullanın.

Doğru H5'in ayrıca bir yüzdeye ihtiyacı olabilir: doğru komut veya bir kenar boşluğu ekleyebilir: 1px; (istediğiniz yere yerleştirmek için doğru piksel sayısını girin).

Tablolarla çok çalışıyorum ve özellikle başlıklar sütunlarla hizalanmaya ihtiyaç duyduklarında detaylar konusunda titiz davranıyorlar.

Tablo hücreleri css'yi devralmaz. Her td ve th kendi stil komutlarına ihtiyaç duyar. Genel amaçlı konum ve renk, yazı tipi, yazı tipi boyutu vb. Için stil 'sınıfları' (bazen bir 'h5' etiketi) kullanıyorum, ancak hala konumlarını iyi bir şekilde düzeltmek için başlıklara stil etiketi eklemem gerekiyor. hizalama, yüzdürme ve kenar boşluğu özellikleri.

0

<colgroup> etiketini kullanabilirsiniz.

Örnek: 'td' etiketler kendi atanmış alanı ile hizalanır yüzden 3 sütun tanımlamak

<table> 
 
    <colgroup> 
 
    <col span="2" style="background-color:red"> 
 
    <col style="background-color:yellow"> 
 
    </colgroup> 
 
    <tr> 
 
    <th>ISBN</th> 
 
    <th>Title</th> 
 
    <th>Price</th> 
 
    </tr> 
 
    <tr> 
 
    <td>3476896</td> 
 
    <td>My first HTML</td> 
 
    <td>$53</td> 
 
    </tr> 
 
</table>

+0

, o zaman en soldaki 'th' arasında 'sütun aralığı' değiştirmek istenilen genişliğe yayılan etiket (th colspan = "2"). Bu masayı sert kontrol altında tutar. – Sparky256

+0

@ Sparky256: Bu sadece bir örnek. –

+0

Anlaşıldı. Basit bir tablo, kod sayfaları olabilir çünkü hücreler sınıf stilini miras almaz. – Sparky256

İlgili konular