- PR -

DataGridでページ遷移時にエラー

1
投稿者投稿内容
tokyo123
会議室デビュー日: 2004/08/26
投稿数: 6
投稿日時: 2004-10-14 22:09
こんにちは、.NET初心者です。

DataGridを使っているのですが、選択ボタンと、
ページ遷移のイベントを入れているのですが、
ページ遷移時にエラーとなってしまいます。
#選択ボタンのイベントは正常に動く

-エラー内容
指定された引数は、有効な値の範囲内にありません。パラメータ名 : index
-

-ソースコード(C#)
private void DataGrid1_PageIndexChanged(
object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
//DataGridページ遷移イベント
DataGrid1.CurrentPageIndex = e.NewPageIndex;
DataGrid1.DataBind();
}

private void DataGrid1_ItemCommand(
object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//選択ボタン押下イベント
//選択された行の2列目の情報をラベルに表示
Label2.Text = e.Item.Cells[1].Text;
}
-
初歩的な質問かもで、申し訳ないのですが、
ご教授ください。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-10-14 23:18
 ポストバックの時(イベントハンドラが呼び出されたとき)に、ちゃんとデータがDataGridに入っているか、調べてみてください。

 で、その例外は、どこで発生しているのでしょう?(と、いうことを押さえていますか?)
_________________
tokyo123
会議室デビュー日: 2004/08/26
投稿数: 6
投稿日時: 2004-10-17 13:50
返信が遅くなりすみません。

色々、試してみたのですが、下記のように
ページングと区別するとうまくいきました。

----------------------------------------------------
private void DataGrid1_ItemCommand(
object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//選択ボタン押下イベント
if (e.Item.ItemType == ListItemType.Pager)
{
return;
}
Label2.Text = e.Item.Cells[1].Text;
----------------------------------------------------
1

スキルアップ/キャリアアップ(JOB@IT)