문제

나는 일부 테이블에 데이터베이스에 대한 7K 행하고 필요 보고서에는 웹 사이트(asp.net 는)사용자 정의 포맷,선회축 테이블과 같은 상세합니다.

무엇을위한 최고의 솔루션이기 때문에 나는 렌더링에 대한 예 반복이 양의 데이터를 매우 느립니다.

감사에 대한 조언

도움이 되었습니까?

해결책

페이징을 원하지 않으면 스크롤 할 때 행을 가져 오기 위해 약간의 ajax가 필요하고 메모리를 보존 해야하는 경우보기가 멀어 질 때 행을 제거 할 수 있습니다.

다른 팁

을 끄 viewstate

지 않는 한 당신이 그것을 필요

Page.EnableViewState = false;

표 분

당신이 원하지 않는 경우 아래로 이동하는 페이징 노선할 수 있는 분할형 <table> 으로 여러 작은 <table>s.(로 사용하는 경우 브라우저 수 렌더링 테이블 후에 최종 보 </table>.나는 확실하지 않으면 이것은 여전히 사실이지만,확실히 가치 샷)

의 제거 쓰레

를 사용하고 있는지 확인하십시오 css 를 사용하지 않고 물건처럼

<td width="40" valign="top"> 50 </td>
<td class="a"> 50 </td> <!-- better  -->
<td>50</td> <!-- best  -->
<!-- if you need to specify a width, you only need to do it in one row  -->

기억 crap * 7000 = alot of crap

을 줄 페이지의 크기는 모든 비용에

때로는 문제가 해결되지 않 페이지의 렌더링이지만,그것은 다운로드는 원인 문제,그래서 확인합니다.

중첩된 테이블이 정말 당신을 해치

안 그런 말

페이징을 사용하는 것이 좋습니다.

다음과 같은 일반적인 행을 고려하십시오.

<tr><td>ID</td><td>Some data</td><td>More and more data</td></tr>

각 행에는 66자가 있으므로 7k 행을 갖는 거의 500k 상당의 데이터가 합산됩니다. 그리고 그것은 웹 디스플레이에 많은 것입니다.

따라서 한 페이지에 모든 것을 실제로 표시하려면 최소한으로 유지하십시오.

  • 공간을 낭비하지 마십시오
  • 완전히 피할 수없는 경우 속성을 사용하지 마십시오
  • 클래스를 사용하지 마십시오 = "" "다른 행에 대해 다른 클래스가없는 경우 (대신 모든 행에 동일한 클래스를 적용하십시오)

어쨌든, 대상 컴퓨터 + 브라우저에 따라 행이 더 크면 실제로 슬러울 수 있습니다.

어떤 언어를 사용하고 있는지 언급하지 않지만 리피터에 대한 언급은 ASP.Net을 제안합니까? 내 경험상 데이터 그라이드에 데이터를 바인딩하는 것은 더 큰 데이터 세트에서 더 빠릅니다.

그러나 웹 페이지에 왜 많은 데이터를 표시하고 싶은지 궁금합니다. 올바른 마음을 가진 사용자는 그 많은 데이터를 앉아서 스크롤하여 유용하지 않습니다. 데이터를 사용자에게 유용한 데이터로 제한하십시오. 일반적으로 100 행 미만으로 필터링됩니다.

IMO,이 많은 데이터가있는 보고서는 형식에 관계없이 쓸모가 없지만 인쇄 된 보고서 또는 그와 같은 모든 것을 절대적으로 가져야한다면 서버에서 PDF 문서를 생성하는 것을 고려하십시오.

많은 데이터에 대한 사용자 정의보고 도구를 시도 할 수 있습니다. 우리 회사는 불리는 도구를 만듭니다 rsinteract (Shameless Plug). SQL Server보고 서비스를 사용합니다.

데이터를 덤프하고 싶다면 브라우저가 렌더링하는 동안 또는 쿼리가 실행중인 동안 브라우저가 잠그고 있다고 가정합니다. 대상 브라우저가 무엇인지 알고 있다면 ... "More ..."링크를 사용하여 다음 데이터 세트를 얻고 1000 행 제한을 가질 수 있습니다. 그러나 이것은 ctrl+f 검색에 영향을 미칩니다. 페이징과 비슷하지만 사용자의 손에 책임을 두는 것입니다.

"웹 앱"을위한 "최고의"솔루션을 찾고 있다면, 많은 행을 효율적으로 렌더링하기 위해 Flash/Flex를 사용하는 것이 좋습니다. 기본 HTML 이외의 것을 사용하는 것이 옵션이 아니라면 사용자가 @Mbeckish가 제안한 것처럼 사용자가 스크롤하는 것처럼 새로운 행을 동적으로 가져 오는 것이 좋습니다 ...

나는 한 명의 고객을 위해 Dev Express 그리드를 사용하여보고를 처리했고 그들은 그것을 좋아합니다 (나는 오히려 내 자신을 굴 렸지만!)

보다 http://demos.devexpress.com/aspxgridviewdemos/

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