- - PR -
TreeView上におけるチェックボックスの選択状態が画面上に反映されない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-08-21 18:30
いつも参考にさせて頂いています、alfです。 【問題】 各ノードのCheckedプロパティがtrueになっているにも関わらず、CheckBoxのチェ ック状態がTreeViewに反映されない 【現状】 XMLから読み込んだデータからTreeNodeCollectionのオブジェクトを生成して、 モーダルダイアログ上のTreeView(CheckBox付)に反映させています。 各ノードのCheckBoxの状態を保持させるため、[OK]ボタン押下後に TreeViewのNode → TreeNodeCollectionオブジェクト へNodeコピーしています。 再びモーダルダイアログを表示した時に、前回のCheckBoxの選択状態を反映させ るため上記とは逆の、 TreeNodeCollectionオブジェクト → TreeViewのNode のNodeコピーを行うと何故か前回のCheckBoxの選択状態が全く反映されません。 (当然この時の各ノードのCheckedプロパティはtrue) ただ気になるのは、TreeView→TreeViewのNodeコピーでは上手く行きますが、 TreeView→TreeNodeCollection→TreeViewのNodeコピーだとダメだということです。 尚、TreeViewやTreeNodeCollectionオブジェクト間のNodeコピーは以前こちらで教 えて頂いた以下のような方法で行っています。 treeView_SetLogFile.CheckBoxes = true; treeView_SetLogFile.Nodes.Clear(); // Addする前にNodeをクリア foreach (System.Windows.Forms.TreeNode t in treeLogData) treeView_SetLogFile.Nodes.Add((System.Windows.Forms.TreeNode)t.Clone()); Nodeコピー後、ShowDialogでモーダルダイアログを表示させているだけですが、 どこかおかしな点はございますでしょうか? MSDNや@ITの過去ログやググってみたものの、どうしても解決できなかったので質 問させて頂きました。 以上、よろしくお願いします。 [開発環境] .NET2003(C#) |
1