Visualforce DataTable: هل هناك طريقة لمنعها من تقديم سمة cellpadding؟

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

سؤال

في 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...  -->

سمة الفصل موجودة كما أردت ، ولكن هناك أيضًا مكون من cellpadding و cellspping المحددة ، والتي تتداخل مع CSS الخاص بي.

هل هناك طريقة لمنع Visualforce من تقديم سمات cellpadding و cellsping ل <apex:dataTable>?

هل كانت مفيدة؟

المحلول 4

يبدو أن التخلي عن <apex:dataTable> وضع علامة واستخدام المزيد من FII <apex:repeat> قد تكون العلامة هي الطريقة الوحيدة للقيام بذلك.

نصائح أخرى

المذكورة أعلاه ، هل حاولت إزالة السمات؟ حدد المعرف

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

ومن بعد

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

ماذا عن توفير قيمك الخاصة لهذه (كما في CSS)؟ قبيح ولكن سيعمل.

بخلاف ذلك - إزالة السمة / إعادة تطبيق الفصل مع JavaScript؟

لا أعتقد أنه حتى إزالة Salesforce CSS (<apex:page ... showHeader="false">) سوف ينجز هذه المهمة.

لا أعرف ما إذا كان يمكنك قمع هذه السمات في Visualforce.

ولكن إذا كان السؤال الذي تطرحه حقًا هو كيف لا أترك هذه السمات تؤثر على تصميمي العام ، فأعتقد أن CSS يمكن أن تساعد.

ما يعادل CSS من cellpadding هو "الحشو" ، ومكافئة CSS من cellspacing هو "تباعد الحدود". هذا الأخير يعمل فقط على عناصر من النوع TD على حد علمي.

.cv_table TD {
    border-spacing: 5px;
    padding: 5px;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top