1

Visualforce では、<apex:dataTable>次のようにコンポーネントを使用しています。

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

...そして、CSSを使用して、クラス名を介してテーブルのスタイルを設定しています。問題は、VisualForce が HTML を次のようにレンダリングすることです。

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

クラス属性は私が望んでいたとおりにありますが、CSS に干渉する cellpadding と cellspacing も指定されています。

Visualforce が の cellpadding および cellspacing 属性をレンダリングしないようにする方法はあり<apex:dataTable>ますか?

4

4 に答える 4

2

上記のように、属性を削除してみましたか?IDを指定します

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

それから

<script type="text/javascript">
  document.getElementById("myTable").removeAttribute("cellpadding");
  document.getElementById("myTable").removeAttribute("cellspacing")
</script>
于 2011-05-10T17:29:30.693 に答える
1

これらに独自の値を提供するのはどうですか(CSSと同じ)?醜いですが、うまくいくでしょう。

それ以外-属性の削除/JavaScriptでクラスを再適用しますか?

<apex:page ... showHeader="false">SalesForce CSS( )を削除しても、このタスクを実行できるとは思いません。

于 2010-04-20T11:17:27.133 に答える
0

Visualforceでこれらの属性を抑制できるかどうかはわかりません。

しかし、あなたが本当に尋ねている質問が、これらの属性が私の全体的なデザインに影響を与えないようにする方法である場合、CSSが役立つと思います。

に相当するCSScellpaddingは「padding」であり、に相当するCSScellspacingは「border-spacing」です。後者は、私が知る限り、タイプTDの要素でのみ機能します。

.cv_table TD {
    border-spacing: 5px;
    padding: 5px;
}
于 2010-04-22T05:23:40.923 に答える
0

タグを放棄<apex:dataTable>し、よりローファイな<apex:repeat>タグを使用することがこれを行う唯一の方法かもしれません。

于 2010-04-30T15:37:53.747 に答える