2011-11-02 5 views
0

SQL 데이터 판독기가 데이터베이스에서 레코드를 가져 오는 데 사용되는 기존 클라이언트 코드가 있으며 테이블 내용이 문자열로 생성 된 다음 asp : literal 요소.asp.net은 동적으로 생성 된 테이블의 페이지 매김을 포함합니다.

Dim myreader As SqlDataReader = selectcmd.ExecuteReader 

If myreader.HasRows Then 
str = str & "" // str is string 

While myreader.Read() 
If Not IsDBNull(myreader("column1")) Then 
    str = str & "<tr><td align=left><font color=white>" & myreader("column1") & "</font></td></tr>" 
End If 
End While 

// in the end string is assigned to Text attribute of asp:literal element 

클라이언트는 페이지 매김 사용하는 것을, 그리고 10 행이 한 번에 볼 수 있어야 있고 나머지는 페이징을 통해 볼 수 있어야 원한다.

누구든지 이것이 어떻게 달성 될 수 있는지 제안 할 수 있습니까?

감사합니다.

답변

0

대부분의 경우 서버 측에서 이러한 종류의 HTML 연결을 수행하는 것은 매우 나쁜 생각입니다.

시나리오에서는 SQLDataSource를 사용하여 데이터를 gridview에 공급하고 페이징 & 정렬 지원 만 가능할 수 있습니다. 마크 업에 데이터 소스를 선언하는 것 외에도 코드를 작성할 필요가 없습니다. 그런 당신을 위해 그것을 잘라하지 않는 경우

There's an excellent tutorial here.

, 당신은 정확하게 당신이 현재의 페이지 수에 따라 원하는 행의 수를 반환하는 데이터베이스를 요청하여 자신을 페이징 구현해야합니다. 일반적으로 ROW_NUMBER()TOP을 사용해야 데이터베이스 측에서 결과를 페이지 할 수 있습니다.

Here's an example on how to do paging on the database side.

1

GridView과 같은 기본 제공 컨트롤 중 하나를 사용해 보셨습니까? 페이징, 정렬 등을 설정할 수 있습니다. 아니면 당신이 그것을 문자 그대로 쓰고있는 어떤 이유가 있습니까?

관련 문제