【问题标题】:Data on 2nd page showing data of 1st page in gridview with paging applied第 2 页上的数据显示应用了分页的 gridview 中第 1 页的数据
【发布时间】:2015-02-04 21:01:24
【问题描述】:

如果在gridview上应用了分页怎么办?如果我尝试在第二页上显示每一行的数据,它也会在网格的第二页上显示第一页的数据。怎么办?

我的代码是:- 受保护的 void gvbind() { SqlCommand cmd = new SqlCommand("Select Reference.ReferenceID,Reference.Name,Reference.JobTitle,Reference.Organization,Reference.Phone,Reference.Email,Reference.City,Reference.StateProvince,Reference.Country,Reference.ReferenceType from Reference JOIN JResume ON Reference.ResumeID= JResume.ResumeID JOIN JUser ON UserID=JResume.ResumeID AND JUser.Email=@Email", conn1); cmd.Parameters.Add("@Email", SqlDbType.NVarChar, 50); cmd.Parameters["@Email"].Value = Session["Login"].ToString(); SqlDataAdapter da = new SqlDataAdapter(cmd);

    DataSet ds = new DataSet();

    da.Fill(ds);
    SqlDataReader dr=cmd.ExecuteReader();


    if (ds.Tables[0].Rows.Count > 0)
    {

        grid1.DataSource = ds;

        grid1.DataBind();
        int CountRowsPerPage = grid1.Rows.Count; // as paging is applied so count number of rows per page to display
        foreach (GridViewRow row in grid1.Rows)
        {
            if (dr.Read())
            {
               // int RowIndex = grid1.PageIndex * grid1.PageSize + row.RowIndex;

                Label ReferenceLabel = (Label)grid1.Rows[row.RowIndex].Cells[0].FindControl("ReferenceLabel") as Label;
                if (!(ReferenceLabel == null))
                {
                    ReferenceLabel.Text = "";
                    ReferenceLabel.Text = dr["JobTitle"].ToString() + " in " + dr["Organization"].ToString() + "<br/> " + dr["City"].ToString();

                    ReferenceLabel.Text += " , " + dr["Country"].ToString();
                    ReferenceLabel.Text += " <br/> " + dr["Phone"].ToString() + "<br/>" + dr["Email"].ToString();

                }
            }
        }
        dr.Close();
    } 

}

【问题讨论】:

    标签: c# gridview pagination


    【解决方案1】:

    在这个网站上没有人像往常一样回答我的问题。所以在我自己的全部努力之后,我会第一次回答自己。

    protected void grid1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { 标签 ReferenceLabel = (Label)e.Row.Cells[0].FindControl("ReferenceLabel");

            if (ReferenceLabel != null)
            {
                if (ds.Tables[0].Rows.Count>0)
                {
                    ReferenceLabel.Text = "";
                    ReferenceLabel.Text = ds.Tables[0].Rows[e.Row.DataItemIndex]["JobTitle"].ToString() + " in " + ds.Tables[0].Rows[e.Row.DataItemIndex]["Organization"].ToString() + "<br/> " + ds.Tables[0].Rows[e.Row.DataItemIndex]["City"].ToString();
    
                    ReferenceLabel.Text += " , " + ds.Tables[0].Rows[e.Row.DataItemIndex]["Country"].ToString();
                    ReferenceLabel.Text += " <br/> " + ds.Tables[0].Rows[e.Row.DataItemIndex]["Phone"].ToString() + "<br/>" + ds.Tables[0].Rows[e.Row.DataItemIndex]["Email"].ToString();
                }
    
            }
    
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-09-05
      • 1970-01-01
      • 2019-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-26
      • 2016-12-25
      相关资源
      最近更新 更多