DOBON.NET DOBON.NETプログラミング掲示板過去ログ

TreeViewで開いていないノードをSelectにしたとき

環境/言語:[C# ASP.NET]
分類:[ASP.NET]

The node at index 1.0 is not currently displayed in the tree. SelectedNodeIndex cannot be set to an undisplayed node (all parents of a selected node must be expanded).

というエラーが出ます。
実際は存在するノードのインデックスですが、
そのインデックスのノードの上部がExpanded=trueでない場合エラーがでます。
(SelectNodeに設定はできますが、表示時点でエラーが出ます)
要は開いていないツリーの配下フォルダを選択状態にしようとして
エラーがでていると思うのですが・・・

この場合、エラーをスルーし、ツリーの一番上にカーソルをあわせるように
ロジックを組みたいのですが、どこでそのエラーを取っていいかわかりません。

スタックとレースは以下です
at Microsoft.Web.UI.WebControls.TreeView.set_SelectedNodeIndex(String value)
at Microsoft.Web.UI.WebControls.TreeView.OnPreRender(EventArgs e)
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain()

ツリービューのTreeView.set_SelectedNodeIndex内部でエラーが起こっているようですが・・・。
> この場合、エラーをスルーし、ツリーの一番上にカーソルをあわせるように
> ロジックを組みたいのですが、どこでそのエラーを取っていいかわかりません。

OnPaint() の奥の方だと思うので、Application.ThreadException イベントで捕捉出来たりはしないでしょうか?

DOBON.NET | プログラミング道 | プログラミング掲示板