2015-01-08 3 views
0

От this thread мне предложили использовать вложенную таблицу, которая, в свою очередь, выполняла намеченную операцию/функцию.Форматирование вложенных таблиц

<table> 
    <thead class="center"> 
     <tr> 
      <th><a href="viewfaculty?columnName=professor_id">ID</a></th> 
      <th><a href="viewfaculty?columnName=professor_last_name">L. Name</a></th> 
      <th>F. Name</th> 
      <th>M. Name</th> 
      <th>Sex</th> 
      <th><a href="viewfaculty?columnName=professor_employment_status">Empl. Status</a></th> 
      <th><a href="viewfaculty?columnName=professor_department">Dept.</a></th> 
      <th>Modify</th> 
     </tr> 
    </thead> 

    <tbody> 
     <c:forEach var="professor" items="${facultyList}"> 
     <tr> 
      <td> 
       <form action="savechanges" method="post"> 
       <table> 
        <tr> 
         <td align="center">${professor.profId}</td> 
         <td>${professor.profLastName}</td> 
         <td>${professor.profFirstName}</td> 
         <td>${professor.profMiddleName}</td> 
         <td align="center">${professor.profSex}</td> 
         <td align="center">${professor.profEmplStatus}</td> 
         <td align="center">${professor.profDept}</td> 

         <td align="center"> 
          <c:choose> 
           <c:when test="${professor.profEmplStatus.equals('FULL')}"> 
            <select name="profEmplStatus" required> 
             <option value="FULL" selected>FULL</option> 
             <option value="PART">PART</option> 
             <option value="RET">RET</option> 
             <option value="TRMTD">TRMTD</option> 
            </select> 
           </c:when> 

           <c:when test="${professor.profEmplStatus.equals('PART')}"> 
            <select name="profEmplStatus" required> 
             <option value="FULL">FULL</option> 
             <option value="PART" selected>PART</option> 
             <option value="RET">RET</option> 
             <option value="TRMTD">TRMTD</option> 
            </select> 
           </c:when> 

           <!-- more <c:when> --> 
          </c:choose> 
         </td> 

         <td align="center"> 
          <c:choose> 
           <c:when test="${professor.profDept.equals('BSCS-SE')}"> 
            <select name="profDept" required> 
             <option value="BA-MMA">BA-MMA</option> 
             <option value="BFDT">BFDT</option> 
             <option value="BS-AN">BS-AN</option> 
             <option value="BS-GPD">BS-GPD</option> 
             <option value="BSBA-FM">BSBA-FM</option> 
             <option value="BSBA-MKT">BSBA-MKT</option> 
             <option value="BSCS-SE" selected>BSCS-SE</option> 
             <option value="BSIT-WD">BSIT-WD</option> 
             <option value="GENED">GENED</option> 
            </select> 
           </c:when> 

           <c:when test="${professor.profDept.equals('GENED')}"> 
            <select name="profDept" required> 
             <option value="BA-MMA">BA-MMA</option> 
             <option value="BFDT">BFDT</option> 
             <option value="BS-AN">BS-AN</option> 
             <option value="BS-GPD">BS-GPD</option> 
             <option value="BSBA-FM">BSBA-FM</option> 
             <option value="BSBA-MKT">BSBA-MKT</option> 
             <option value="BSCS-SE">BSCS-SE</option> 
             <option value="BSIT-WD">BSIT-WD</option> 
             <option value="GENED" selected>GENED</option> 
            </select> 
           </c:when> 

           <!-- more <c:when> --> 
          </c:choose> 
         </td> 

         <td class="center"> 
          <input type="hidden" name="profId" value="${professor.profId}" /> 
          <input type="submit" value="Save" /> 
         </td> 
        </tr> 
       </table> 
       </form> 
      </td> 
     </tr> 
     </c:forEach> 
    </tbody> 
</table> 

Таблицы только появились перепутались, хотя, как видно на этом скриншоте:

enter image description here

Как это сделать так, что кажется, как первоначально предполагалось?

enter image description here

+1

Вы уверены, что хотите вставить таблицы, а не только '' строк для каждой записи? –

+1

Почему вы ответили? Это мое плохое? –

+0

@AndrewDunai Если бы мы могли это сделать. Причина в том, что незаконно помещать '

' вокруг '', следовательно, вложенную таблицу. – silver

ответ

0

HTML, разработан с вложенными таблицами, которые включают form тег внутри ячейки внешней таблицы. Из изображения вывода в браузере вы видите, что вложенная таблица заняла пространство, принадлежащее первому столбцу. Но вам нужно, чтобы обе таблицы имели одинаковое количество столбцов. Подсчитайте количество столбцов во вложенной таблице и используйте атрибут colspan тега <td>, чтобы распространить ячейку, чтобы занять пространство, выделенное для других столбцов внешней таблицы.

<td colspan="10" align="right" valign="top"> 
    <form action="savechanges" method="post"> 
     <table style="width:100%;" cellspacing="0" cellpadding="0" border="0"> 
+0

Это касается всех подэлементов, находящихся под «ID» из основной таблицы. Это не означает, что столбцы этих подклассов совпадают друг с другом. – Quentin

+0

@ RomanC, я буду тестировать и возвращаться с результатами. – silver

+0

@ RomanC, это сработало! =) См. [Здесь] (http://s16.postimg.org/p47os02qt/new.png) для скриншота. Я также тестировал обновление строки, и она также работала. Мне нужно немного изменить ширину столбцов, но все в порядке. Спасибо также за то, что он придерживался этого вопроса, даже если он по кругу. Признанный и отмеченный принятый ответ. =) – silver

Смежные вопросы