2012-09-13 7 views
0

Gridview : 페이지 변경시 데이터가 변경되지 않습니다.페이지 변경시 GridView가 변경되지 않습니다.

안녕하세요, 저는 C#으로 asp.net 웹 사이트에서 작업하고 있습니다. 내가 페이징과의 gridview를 의 gridview에는 SQL 데이터베이스에서 채워되고 PageIndexChanging에 내가 가진 :

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    BindGridControl(); 

    gridView.PageIndex = e.NewPageIndex; 
    gridView.DataBind(); 
} 

내가 예를 들어 2 페이지를 클릭하면

는, 데이터의 다음 행이 잘 표시됩니다. 그러나 페이지 1로 돌아 가면 데이터가 변경되지 않고 페이지 2의 데이터가 계속 표시됩니다.

어떻게 해결할 수 있습니까?

답변

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

BindGridControl()이 데이터를로드하고 gridView 데이터 소스로 설정 했습니까?

+0

예. BindGridControl()은 나를 만든 메서드입니다. 그리드 뷰 데이터 소스에 데이터를 설정합니다. – pyram

+0

게시 한 변경 사항을 시도했지만 작동하지 않습니다 ... 무엇을 할 수 있습니까? – pyram

+0

자세히 BindGridControl()을 가질 수 있습니다. –

0

당신은 시도 지침

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 

    gridView.PageIndex = e.NewPageIndex; 

     BindGridControl(); 

    gridView.DataBind(); 
} 
+0

이러한 변경을 수행했습니다. 그러나 문제는 여전히 남아 있습니다. – pyram

0

의 순서

 
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 

    gridView.PageIndex = e.NewPageIndex; 

    BindGridControl(); 

    DataBind(); 
} 
0

나는 오랜 시간 동안 너무이 문제가 있었을 취소 할 수 있습니다. 나는 이걸 생각해 냈고 마침내 나를 위해 일한다.

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    BindGridControl(e.NewPageIndex); 
} 

다음 BindGridControl 기능에

:

protected void BindGridControl(int pageNumber = 0) 
{ 
    SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings[connect‌​ion].ConnectionStrin‌​g); 
    SqlDataReader dr; 
    SqlCommand cmd; 
    cmd = new SqlCommand(); 
    cmd.Connection = sqlConn; 
    cmd.CommandType = CommandType.StoredProcedure; 
    cmd.CommandText = "sp_load"; 
    sqlConn.Open(); 
    dr = cmd.ExecuteReader(); 
    DataTable dt = new DataTable(); 
    dt.Load(dr); 
    GridView1.PageIndex = pageNumber; 
    GridView1.DataSource = dt; 
    GridView1.DataBind(); 
    sqlConn.Close(); 
} 
관련 문제