Visualforce DataTable: Existe uma maneira de impedi -lo de renderizar o atributo de CellPadding?

StackOverflow https://stackoverflow.com/questions/2674055

Pergunta

No Visualforce, estou usando um <apex:dataTable> Componente da seguinte maneira:

<apex:dataTable value="{!Qualifications}" var="qual" styleClass="cv_table" >
    <!-- etc...  -->

... E então estou usando o CSS para estilizar a tabela, através do nome da classe. O problema é que o Visualforce renderiza HTML como este:

<table class="cv_table" id="j_id0:j_id26" border="0" cellpadding="0" cellspacing="0">
    <!-- etc...  -->

O atributo de classe está lá como eu queria, mas também há o CellPadding e o CellSpacing especificados, que interferem no meu CSS.

Existe uma maneira de impedir o Visualforce de renderizar os atributos do CellPadding e Cellspacing <apex:dataTable>?

Foi útil?

Solução 4

Parece que abandonar o <apex:dataTable> tag e usando o mais baixo-fi <apex:repeat> A tag pode ser a única maneira de fazer isso.

Outras dicas

Mencionado acima, você já tentou remover os atributos? Especifique o ID

<apex:dataTable id="myTable" value="{!Qualifications}"...

então

<script type="text/javascript">
  document.getElementById("myTable").removeAttribute("cellpadding");
  document.getElementById("myTable").removeAttribute("cellspacing")
</script>

Que tal fornecer seus próprios valores para eles (o mesmo que no CSS)? Feio, mas funcionaria.

Fora isso - a remoção de atributos / reaplicação da classe com JavaScript?

Eu não acho que nem mesmo a remoção do Salesforce CSS (<apex:page ... showHeader="false">) realizará esta tarefa.

Não sei se você pode suprimir esses atributos no Visualforce.

Mas se a pergunta que você está realmente perguntando é como não deixo que esses atributos afetem meu design geral, acho que o CSS pode ajudar.

O equivalente a CSS de cellpadding é 'preenchimento' e o equivalente a CSS de cellspacing é 'espaçamento de fronteira'. Este último só funciona em elementos do tipo TD até onde eu sei.

.cv_table TD {
    border-spacing: 5px;
    padding: 5px;
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top