html - TD HTML 标签右对齐

标签 html sql-server for-xml-path

出于某些原因,我正在为特定时间段的客户生成 HTML 代码,并且在该代码中我需要美元字段的(“已支付”和“收费”列)文本右对齐,这怎么可能使用 XML raw('tr' ).

create table #Customer
(
id varchar(500),
CustomerName varchar(500),
customertype varchar(500),
LastOrderNo varchar(500),
charges varchar(500),
Payed varchar(500)
)

insert into #Customer
select '201','Cus1','XX','on-09799','60.09$','30.00$'
union all 
select '202','Cus2','XX','on-09777','90.09$','50.00$' 
union all 
select '203','Cus3','YY','on-09766','100.09$','100.00$' 
union all 
select '204','Cus4','ZZ','on-09788','2000.09$','2000.00$' 


Declare @Body varchar(max)
set @Body=''

select @Body =@Body+'<table cellpadding=0 cellspacing=0 border=0 >' +
                  '<tr><td width="100px" > ID</td>' +
                      '<td width="140px" >CustomerName</td>' +
                      '<td width="100px" >Customertype</td>' +
                      '<td width="100px" > LastOrderNo</td>' +
                      '<td width="100px" align="right" bgcolor=#E6E6FA><b> charges</b></td>' +
                      '<td width="110px" align="right" bgcolor=#E6E6FA><b> Payed</b></td></tr>'

select @Body = @Body+(SELECT  
                        td= id,'',
                        td= CustomerName,'',
                        td= customertype,'',
                        td= LastOrderNo,'',
                        td= charges,'',     
                        td= Payed,''    
                        from #Customer                          
                        For XML raw('tr'), Elements
                )+'</table>'


select @Body

select * from #Customer


drop table #Customer

最佳答案

我建议您尝试将这两行更改为:

             '<td width="100px" style="text-align:right" bgcolor=#E6E6FA><b> charges</b></td>' +
             '<td width="110px" style="text-align:right" bgcolor=#E6E6FA><b> Payed</b></td></tr>'

您可以进一步移动样式内的背景颜色:

 style="text-align:right;background-color:#E6E6FA"

然后您可以将 'text-align:right' 添加为 'td/@style',就在 td= charges,'', 之前。如果这是在 SELECT 之后添加的,它将对齐所有列。试试看。

 select @Body = @Body+(SELECT   
      td= id,'',
      td= CustomerName,'',
      td= customertype,'',
      td= LastOrderNo,'',
      [td/@align]='right',
      td= charges,'',  
      [td/@align]='right',   
      td= Payed,''    
    from #Customer                          
    For XML path('tr') ---- instead of for xml raw(tr), element
 )+'</table>'

关于html - TD HTML 标签右对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26638868/

相关文章:

javascript - 我如何一次显示这个innerHTML脚本

sql-server - 删除货币中的小数分隔符

sql - 小于 NVARCHAR(50) 上的函数,它保存数字但格式不同

c# - Entity Framework 仅在更新时抛出异常 - 无效的对象名称 'dbo.BirdBrain.service'

sql-server - SQL Server FOR XML PATH ROOT 元素带有属性(路径模式符号@或/)

java - 使用 Java 从 xml 文件中提取值

html - 带有选择控件的 Angular 2+ ReactiveForms

javascript - 迭代 JSON 以创建 innerHTML 链接