2011-11-21 2 views
1

나는 백엔드 코드에 채워지는 gridview 있습니다. 지금 페이징을 구현하려고하지만, 내 길을 갈 때 나는 아무것도 얻지 못하고있다. 다음 코드의 내 작품은 다음과 같습니다gridview 컨트롤 및 페이징 asp.net

public void generateTable() 
{ 
    conn.ConnectionString = connString; 
    SqlCommand comm = new SqlCommand("ViewBusinessInfo", conn); 
    comm.CommandType = CommandType.StoredProcedure; 
    comm.CommandTimeout = 2; 
    try 
    { 
     conn.Open(); 
     SqlDataReader rdr = comm.ExecuteReader(); 

     if (rdr.HasRows) 
     { 
      gvAssociation.DataSource = rdr; 
      gvAssociation.DataBind(); 
      gvAssociation.AllowPaging = true; 
      gvAssociation.PageSize = 10; 
      rdr.Close(); 
     } 
     else 
     { 
      lblResult.Text = "No businesses found."; 
      lblResult.Visible = true; 
     } 

    } 
    catch 
    { 
    } 
    finally 
    { 
     conn.Close(); 
    } 
} 

수 내가 잘못하고 그리고 난이있는 gridview에서 페이징을 얻을 수있는 사람이 조언은? 사전에 들으, Laziale의

+0

우선 'catch'를'catch (Exception ex)'로 변경하면 실제로 예외가 발생하는지 알 수 있습니다. 빈'catch '블록은 예외를 숨 깁니다. –

답변

1

DataReader에서 페이징을 사용할 수 없습니다. DataAdapter를 사용하여 데이터 집합이나 Datatable에 데이터를 채워야합니다. 다음과 같은 것 :

SqlCommand myCommand = new SqlCommand("ViewBusinessInfo", conn); 
SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand)) 
DataTable dt = new DataTable(); 
myAdapter.Fill(dt); 
... 
0

선언적 AllowPagingPageSize을 설정하거나 DataBind()를 호출하기 전에 이렇게.

+0

오류가 발생합니다. 데이터 소스가 서버 측 데이터 페이징을 지원하지 않습니다. – Laziale

+1

http://forums.asp.net/p/1320427/2623013.aspx가 도움이됩니다. – drdwilcox

2

gridview의 allowPaging 및 pagesize 속성은 gridview 태그가있는 .aspx에 추가 할 수 있습니다. 또한

<asp:GridView ID="gridView" OnPageIndexChanging="gridView_PageIndexChanging" AllowPaging="True" pagesize="10" runat="server" /> 

이 링크가 작동 페이징을 만들기 위해, 당신이있는 gridview의 gridview_PageIndexChanging 이벤트에 다음 코드를 추가 할 수 있습니다

protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    gridView.PageIndex = e.NewPageIndex; 
    gridView.DataBind(); 
} 

희망이 도움이됩니다.

+0

그게 문제가 아니 었습니다. 문제는 페이징을 사용하는 경우 DataReader를 사용하여 GridView를 채울 수 없다는 것입니다. – slfan

+0

네 말이 맞아 ... 그냥 내 마음을 빼먹었 어. DATAREADER를 DATASOURCE로 설정하면 SERVER SIDE PAGING이 허용되지 않습니다. 하나는 DATAADAPTER-DATASET을 사용해야 할 것입니다. – Adi