C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

DataGridでIndexOutOfRangeExceptionが発生する


(過去ログ 6 を表示中)

[トピック内 11 記事 (1 - 11 表示)]  << 0 >>

■6796 / inTopicNo.1)  DataGridでIndexOutOfRangeExceptionが発生する
  
□投稿者/ もんもん 二等兵(7回)-(2006/09/25(Mon) 14:36:14)

分類:[VB.NET] 


分類:[VB.NET] 

あるHPを参考にしてデータグリッドを行選択モードにしよう思い以下のプログラムをつけたしたのですが
「'System.IndexOutOfRangeException' のハンドルされていない例外が system.windows.forms.dll で発生しました。
追加情報 : インデックスが配列の境界外です。」
となってしまいます。
csv形式のデータを読み取ってデータグリッドに表示させていますので、おそらく読み始める時は行が0行なので例外が発生するものと思うのですが、これをどうやって解決したらいいでしょうか。



-----------------------------------------------------------------------------------
Private Sub datagrid1_Paint(ByVal sender As Object, ByVal e As System. _
Windows.Forms.PaintEventArgs) Handles dbgShohin.Paint
datagrid1.Select(dbgShohin.CurrentCell.RowNumber)
End Sub
----------------------------------------------------------------------------------



--
タイトルを編集しました
中@管理人

0
引用返信 編集キー/
■6797 / inTopicNo.2)  Re[1]: DataGridでIndexOutOfRangeExceptionが発生する
□投稿者/ επιστημη 少尉(139回)-(2006/09/25(Mon) 14:43:00)

分類:[VB.NET] 

> csv形式のデータを読み取ってデータグリッドに表示させていますので、おそらく読み始める時は行が0行なので例外が発生するものと思うのですが、これをどうやって解決したらいいでしょうか。

"0なら何もしない"ではダメですか?


0
引用返信 編集キー/
■6811 / inTopicNo.3)  Re[2]: DataGridでIndexOutOfRangeExceptionが発生する
□投稿者/ もんもん 二等兵(8回)-(2006/09/25(Mon) 17:13:56)

分類:[VB.NET] 

それで行数が0でないなら行選択をするように↓のようにしたんですが、
「System.NullReferenceException' のハンドルされていない例外が system.windows.forms.dll で発生しました。
追加情報 : オブジェクト参照がオブジェクト インスタンスに設定されていません。」
となるんです。


Private Sub dbgShohin_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles dbgShohin.Paint
Dim dt As DataTable = CType(dbgShohin.DataSource, DataTable) 'データグリッドに表示されている行数

If dt.Rows.Count <> 0 Then
dbgShohin.Select(dbgShohin.CurrentCell.RowNumber)
End If

End Sub


0
引用返信 編集キー/
■6812 / inTopicNo.4)  Re[3]: DataGridでIndexOutOfRangeExceptionが発生する
□投稿者/ 魔界の仮面弁士 中尉(145回)-(2006/09/25(Mon) 17:26:11)

分類:[VB.NET] 

> それで行数が0でないなら行選択をするように↓のようにしたんですが、
> 「System.NullReferenceException' のハンドルされていない例外が system.windows.forms.dll で発生しました。
> 追加情報 : オブジェクト参照がオブジェクト インスタンスに設定されていません。」
> となるんです。

その NullReferenceException 例外が発生するという事は、いずれかの
オブジェクトが Nothing な状態にある、という事を意味しますよね。

まずはそのコードのどの部分で、その NullReferenceException 例外が
発生しているかを突き止めてみてください。
そのうえで、「Nothing ならば何もしない」ように修正してみては如何でしょう。

0
引用返信 編集キー/
■6816 / inTopicNo.5)  Re[4]: DataGridでIndexOutOfRangeExceptionが発生する
□投稿者/ もんもん 二等兵(9回)-(2006/09/25(Mon) 17:54:27)

分類:[VB.NET] 

ええ、そのNothingなものがこの場合行数だと思いまして
行数が0でない場合だけ行選択モードにするようにコードを書いたつもりなんですが例外となるんです。。

0
引用返信 編集キー/
■6817 / inTopicNo.6)  Re[5]: DataGridでIndexOutOfRangeExceptionが発生する
□投稿者/ επιστημη 中尉(144回)-(2006/09/25(Mon) 17:58:24)

分類:[VB.NET] 

> ええ、そのNothingなものがこの場合行数だと思いまして
> 行数が0でない場合だけ行選択モードにするようにコードを書いたつもりなんですが例外となるんです。。

dbgShohinは? dbgShohin.CurrentCellは?
どっちも絶対にNothingにならない? 検証した?


0
引用返信 編集キー/
■6837 / inTopicNo.7)  Re[5]: DataGridでIndexOutOfRangeExceptionが発生する
□投稿者/ eternia 一等兵(25回)-(2006/09/26(Tue) 10:38:41)

分類:[VB.NET] 

No6816に返信(もんもんさんの記事)
> ええ、そのNothingなものがこの場合行数だと思いまして
> 行数が0でない場合だけ行選択モードにするようにコードを書いたつもりなんですが例外となるんです。。

予想だけじゃダメです。
ちゃんと魔界の仮面弁士さんが仰られているように突き止めてください。
ブレークポイント張って一行ずつ実行したらわかると思います。

#dbgShohin.DataSourceあたりが怪しいかな……?

0
引用返信 編集キー/
■6847 / inTopicNo.8)  Re[6]: DataGridでIndexOutOfRangeExceptionが発生する
□投稿者/ もんもん 二等兵(10回)-(2006/09/26(Tue) 12:41:26)

分類:[VB.NET] 

調べてみた結果
dbgShohin.DataSourceとdtの値がNothingで
dbgShohin.CurrentCell.RowNumberの値が0
となりました。
なるほど。こうやって調べるんですね。ありがとうございました。
続きは今やっております。

0
引用返信 編集キー/
■6849 / inTopicNo.9)  Re[7]: DataGridでIndexOutOfRangeExceptionが発生する
□投稿者/ もんもん 二等兵(11回)-(2006/09/26(Tue) 14:30:22)

分類:[VB.NET] 

でもこれって、条件式にいく前のdtの宣言部分でNothingがあるということですよね。。書き方おかしいのかな

0
引用返信 編集キー/
■6945 / inTopicNo.10)  Re[8]: DataGridでIndexOutOfRangeExceptionが発生する
□投稿者/ もんもん 二等兵(12回)-(2006/09/28(Thu) 18:32:52)

分類:[VB.NET] 

Nothingとなっているモノは解ったのですが、どうしてもそこから前に進みません。
もう少しヒントをお願いします。

0
引用返信 編集キー/
■6960 / inTopicNo.11)  Re[9]: DataGridでIndexOutOfRangeExceptionが発生する
□投稿者/ eternia 一等兵(28回)-(2006/09/29(Fri) 11:17:13)

分類:[VB.NET] 

No6945に返信(もんもんさんの記事)
> Nothingとなっているモノは解ったのですが、どうしてもそこから前に進みません。
> もう少しヒントをお願いします。

Nothingになっているのが何かわかっているのなら
魔界の仮面弁士さんが仰られているように実装したらいいですよね?

#どこで止まっていますか?

0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -