正常翻页是:
private void DataGridBind()
{
    ......
}private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
    DataGrid1.CurrentPageIndex = e.NewPageIndex;
    DataGridBind();
}
现在我遇到的问题是我要在绑定DataGrid的时候给它传递参数,这样的话我要制定分页要如何实现呢?如下:
private void DataGridBind(string 参数)
{
    ......
}
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
    DataGrid1.CurrentPageIndex = e.NewPageIndex;
    //我这里要怎么添加语句呢?????? 谢谢!
}

解决方案 »

  1.   

    我里面有个SQL语句,参数是对查询语句进行限定的。
      

  2.   

    private void dg_MstArea_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
    ComLogOutput.WriteLogFile("dg_MstArea_PageIndexChanged Begin");
    BindDataGrid(e.NewPageIndex);
    ComLogOutput.WriteLogFile("dg_MstArea_PageIndexChanged End");
    } /// <summary>
    /// Bind data onto the datagrid
    /// </summary>
    private void BindDataGrid(int CurrentPageNumber)
    {
    DataSet dsBind = null;
    if(this.Session["dsp_MstArea_DgData"]==null)
    {
    if(!SearchData())
    {
    return;
    }
    } dsBind = (DataSet)this.Session["dsp_MstArea_DgData"];
    SetResultPage(true); //set datagrid source
    dsBind.Tables[0].DefaultView.Sort = this.hid_SortField.Value + this.hid_SortType.Value;
    this.dg_MstArea.DataSource =dsBind.Tables[0].DefaultView; //****** move view item to dsBind item ******
    DataSet dsCopy = SetViewToDataSet(dsBind);
    Session["dsp_MstArea_DgData"] = dsCopy; //set page size
    dg_MstArea.PageSize = dpl_PageSize.GetDDlValue;
    dg_MstArea.CurrentPageIndex = CurrentPageNumber; //current page check
    SetDataGridPageIndex(dg_MstArea,dsBind.Tables[0].Rows.Count); //bind
    this.dg_MstArea.DataBind();
    dpl_PageSize.SetCountToLable = dsBind.Tables[0].Rows.Count;
    }
      

  3.   

    把DataGridBind();改为DataGridBind(你的参数);吧
      

  4.   

    silverseven7 你是自己的一个实例吧?我去试试看,谢谢!
    egonzou(落网的鱼) 你的方法我试过了,不行的,我把参数设置为public后传参,结果证明不行...