asp.netのgridviewでPageindexchanging
-
10-10-2019 - |
質問
データセットの結果を表示するために使用しているグリッドビューがあります。問題は、私がページングを使用していることです。しかし、ページ#をクリックすると、イベントを処理していないと書かれています。データセットを再構築する必要がありますか?
ありがとう
解決
次のコードを試してください。
protected void grdView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
FillGrid();
grdView.PageIndex = e.NewPageIndex;
grdView.DataBind();
}
他のヒント
それを試してみてください
Pageloadで
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
loadGrid();
}
}
PageIndexchangingで
private void loadGrid()
{
using (your_bankEntities context = new your_bankEntities()) //use your connection .edmx
{
var jmDados = (from jm in context.yourdbo orderby jm.your fieldkey
select new
{
jm.Field1,
jm.Field2,
jm.Field3,
jm.Field4,
........
jm.n
}).ToList();
GridView1.DataSource = jmDados;
GridView1.DataBind();
}
}
PageIndexchangingで
GridView1.PageIndex = e.NewPageIndex;
loadGrid();
VB.NETでは、C#とはあまり違いがありません。各行の終了時にセミコロンを削除するだけです
Private Sub myGridview_PageIndexChanging(sender As Object, e As GridViewPageEventArgs) Handles myGridview.PageIndexChanging
LoadGridView() //Call your method to load the data into the grid.
myGridview.PageIndex = e.NewPageIndex
myGridview.DataBind()
End Sub
データをバインドする前に.pageIndexを設定する必要があります!それ以外の場合は、実際に追加のクリックが必要になります ダブル BindDataメソッド呼び出し。以下は私のテスト済みのVBコードです。
Private Sub GridViewL_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridViewL.PageIndexChanging
GridViewL.PageIndex = e.NewPageIndex
BindData() ' your method to bind data to the grid
End Sub
所属していません StackOverflow