이것저것 하다보면 GridView에 수동으로 다른 데이터를 바인딩 시켜야 할 때가 있다. 최근에 사용했을 때는 비연결지향으로 DataSet을 얻어서 DataBind를 시켰는데 이렇게 했을때 페이징이 제대로 되지 않는 문제점이 있었다.
GridView에 DataBide를 꼭 저렇게 안하고 아래에 적혀있듯이 Datasource자체를 바꿔주는 방법을 취할 수도 있고 그럴게 했을 경우는 큰 문제가 생기지 않을 것으로 예상된다.(테스트는 못해봤지만 일단 타입이 동일하므로...)
페이징을 하려면 별도로 비하인드 코드에서 처리르 해주어댜 한다.
해당 Gridview의 속성에서 PageIndexChanging를 생성해 주고 그 Behind코드에 다음 코드를 넣어주면 된다.
- protected void AllItemGridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
- {
- AllItemGridView.PageIndex = e.NewPageIndex;
- AllItemGridView.DataBind();
- }
Gridview의 이름이 AllitemGridView이다. 내가 찾은 코드중에는 가장 간단한 코드이며 잘 작동한다.
-- 펌 끝 --
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="0" CellSpacing="1" BorderWidth="2" AllowPaging="true" OnPageIndexChanging="AllItemGridView_PageIndexChanging"
BackColor="#bbbbbb" ForeColor="#333333" GridLines="None" Width="100%">
CS단에서 바인딩하는 경우에 이런식으로 처리하면 잘된다.


::: 사람과 사람의 교감! 人터넷의 첫 시작! 댓글을 달아주세요! :::