문제

행당 날짜가 포함 된 데이터 소스가 있습니다. 이들은 리피터에 묶여 날짜별로 주문됩니다. 매달 렌더링 될 때 분리 된 테이블로 발표하고 싶지만 서버 측 코드에서 여러 리피터를 동적으로 추가하지 않고도 리피터 컨트롤을 사용하여이를 수행 할 수있는 방법이 있습니까?

이상적으로는 다음을 원합니다.

Examples Data:

Row 1: Title 1, 01/12/2009
Row 2: Title 1, 02/12/2009
Row 1: Title 1, 01/01/2010
Row 1: Title 1, 02/01/2009

Required output:

Dec 09
-------------------------------
Title  |  Date                 |
-------------------------------|
Title1 |  01/12/2009           |
-------------------------------|
Title2 |  02/12/2010           |
-------------------------------|

Jan 10
-------------------------------
Title  |  Date                 |
-------------------------------|
Title1 |  01/01/2010           |
-------------------------------|
Title2 |  02/01/2010           |
-------------------------------|
도움이 되었습니까?

해결책

ItemTemplate 내에서 자리 표시 자 컨트롤을 사용하여 반복 GOUP 헤더 및 바닥 글을 포함 할 수 있습니다. 그런 다음 날짜를 기준으로 OnitemDatabound 또는 OnitemCreated 이벤트 처리기에서 자리 표시 자의 가시성을 설정하십시오. 이와 같이:

<ItemTemplate>

<asp:PlaceHolder id="table_end" visible="<%# _newMonthStarting && (!_firstMonth) %>" runat="server">
  </table>
</asp:PlaceHolder>

<asp:PlaceHolder id="table_end" visible="<%# _newMonthStarting %>" runat="server">
  <div><%# _monthHeader</div>
  <table>
    <tr>
      <th>Title</th>      
      <th>Date</th>      
    </tr>
</asp:PlaceHolder>
  <tr>
    <td><!-- data --></td>
    <td><!-- data --></td>
  </tr>
</ItemTemplate>

<FooterTemplate>
   </table>
</FooterTemplate>

다른 팁

예제 데이터와 출력이 일치하지 않지만 여기서 무엇을하고 있는지 알고 있다고 생각합니다.

나는 이것을 메인 리피터에 바인딩하기 위해 1 개의 데이터 세트를 얻기 위해 노력할 것입니다. 이것은 "12 월 9 일"및 "1 월 10 일"데이터입니다. 항목 템플릿 내부에는 한 번 정의 된 또 다른 리피터가 있으며, "다단"이벤트를 사용하여 데이터를 두 번째 리피터에로드합니다.

간단하고 효과적이며 관리하기 쉽습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top