ページングが有効になっているデータグリッドがあります。フィルタリング条件に基づいてデータグリッドに結果を表示しています。データをフィルタリングしたところ、2 ページになりました。2ページ目に行ったとき。結果を絞り込むために、検索機能をもう一度実行しています。次に、「無効な CurrentPageIndex 値です。それは >= 0 かつ < PageCount+datagrid ページングである必要があります」のようなエラーが表示されます。この問題を解決するには?前もって感謝します
5 に答える
特定の変更を行った場合、ページ 1 にリセットする必要があります。これには、フィルタリングの変更が含まれます。ほとんどの場合、グリッドで使用できる行数を変更するたびに、1 ページに戻ります。
ページングが有効になっているデータグリッドがあります。フィルタリング条件に基づいてデータグリッドに結果を表示しています。データをフィルタリングしたところ、2 ページになりました。2 ページ目に移動して、結果を絞り込むためにもう一度検索機能を実行している場合。次に、次のようなエラーが表示されます
「無効な CurrentPageIndex 値です。>= 0 かつ < PageCount+datagrid ページングである必要があります」
2 回目の検索では、前の検索よりもページ数が少なくなると確信しています。この問題を解決するには?エラー表示:
CurrentPageIndex 値。>= 0 かつ < PageCount である必要があります。
問題を解決しました
protected void btnSearchLibrary_Click(object sender, EventArgs e)
{
if(!String.IsNullOrEmpty(txtSearchLibraryNo.Text.Trim()))
oBookReceiptDTO.LibraryCardNo = txtSearchLibraryNo.Text.Trim();
gvBooksReceiptList.CurrentPageIndex = 0;
FillGridViewBookReceiptList(oBookReceiptDTO);
}
注:gvBooksReceiptList.CurrentPageIndex = 0;
これは、問題を解決するために使用した行です。
もう 1 つの提案は、PageCount が変更されて HttpException が発生した場合にのみ CurrentPageIndex をリセットすることです。コード フラグメントは、Les Smith の例に基づいています。
Try
dataGrid1.DataBind()
Catch
' We possibly don't have the correct PageCount.
dataGrid1.CurrentPageIndex = 0
dataGrid1.DataBind()
End Try