2013-12-20 3 views
0

Я пытаюсь загрузить данные заказа из другой таблицы.Как показать данные по группам?

Я также представил данные из таблиц с использованием запроса JOIN.

Это моя о/р: enter image description here

Я хочу что-то вроде этого:

enter image description here

Приказ ID No. то здесь должен отображаться один раз, если она повторяется.

Мой JSP код:

<table class="table table-condensed"> 
         <% 
          List<String> oIdList = (List<String>)request.getAttribute("oIdList"); 
          List<String> pNameList = (List<String>)request.getAttribute("pNameList"); 
          List<String> pQtyList = (List<String>)request.getAttribute("pQtyList"); 
          List<String> pTimeList = (List<String>)request.getAttribute("pTimeList"); 
          List<Boolean> pStatusList = (List<Boolean>)request.getAttribute("statusList"); 
         %> 
           <thead> 
            <tr> 
             <th width="8%">No.</th> 
             <th width="23%">Product Name</th> 
             <th width="20%">Product Qty</th> 
             <th width="18%">Order Time</th> 
             <th width="22%"><div align="center">Order Status</div></th>           
            </tr> 
           </thead> 
           <tbody> 

           <% 
            for(int i = 0; i<pNameList.size(); i++) 
            { 
             %> 
              <tr> 
               <td><%= oIdList.get(i) %></td> 
               <td class="center"><%= pNameList.get(i) %></td> 
               <td class="center"><%= pQtyList.get(i) %></td> 
               <td class="center"><%= pTimeList.get(i) %></td>            
               <% 
                if(pStatusList.get(i)) 
                { 

                 %>             
                  <td class="center"><div align="center"><span class="label label-success">Delivered</span></div></td> 
                 <% 

                } 
                else 
                { 
                 %> 
                  <td style="text-align: center;" width="9%"><span class="label">Pending</span></td> 
                 <% 

                } 
               %> 

              </tr> 
             <% 
            } 
           %> 


           </tbody> 
         </table> 

Так Любое предложение пожалуйста ..

+1

Вы можете добавить один код JQuery, чтобы изменить значение пустым, если более одного столбца для столбца № этого номера совпадают. –

+0

Я скорректировал код ниже. –

ответ

1

Hello. дружище. попробуйте это

for(int j =0,i = 0; i<pNameList.size(); i++) { 
    %> <tr> <% 
    if(i==0){  
    j++;  
     %> <td><%= j %></td> <% 
    }else if(oIdList.get(i) != oIdList.get(i-1)){ 
    j++; 

     %> <td><%= j %></td> <% 
    }else{ 
     %> <td></td> <% 

    }  
    %>          

    <td class="center"><%= pNameList.get(i) %></td> 
    <td class="center"><%= pQtyList.get(i) %></td> 
    <td class="center"><%= pTimeList.get(i) %></td> 
+0

Это не показывает номер первого заказа i.e. 11. –

+0

Это сделано сэр .. –

+0

Сэр, могу ли я напечатать значение i? т.е. на месте 11 это 1, то на месте 9 it's2 и на месте 7 это 3. –

0

Установить переменную lastIdDisplayed в ид каждый раз вокруг петли (инициализировать его в -1 или что-то другое недействительных). Если lastIdDisplayed == id, то не отображать id.

0

Ваш пример не очень объектно-ориентированный. Вы должны преобразовать все эти списки строковых массивов в Заказать объектов.

Затем выполните итерацию по ордерам (сначала их сортируйте, используя интерфейс Comparable и сравнивая значение идентификатора заказа).

Затем используйте некоторую базовую логику, чтобы проверить, совпадает ли последнее значение идентификатора заказа с последним.

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