여기에 누락 된 것이 있어야합니다. 노드 체크 데이터를 쿠키에 저장하는 두 개의 RadTreeView 인스턴스가 있습니다. 페이지가로드되면이 쿠키를 읽고 상태를 적절하게 설정하려고합니다. 지속성에서 프로그래밍 방식으로 RadTreeView 노드 체크 상태를 설정하려고 시도했습니다.
protected void RadTreeView1_OnDataBound(object sender, EventArgs e)
{
HttpCookie checkedCookie = Request.Cookies[DataType + "Checked"];
if (checkedCookie != null)
{
var cookieValue = checkedCookie.Values["Checked"];
if (cookieValue != null)
{
var checkedNodeValues = cookieValue.Split('*');
foreach (string nodeValue in checkedNodeValues)
{
RadTreeNode checkedNode = RadTreeView1.FindNodeByValue(HttpUtility.UrlDecode(nodeValue));
if (checkedNode != null)
checkedNode.Checked = true;
}
}
}
}
그리고 foreach 루프에서
, 나는 모든 쿠키 값에 대한 해당 노드를 찾을 수 : 그래서 나는이 OnDataBound 이벤트가 있습니다. 더 중요한 것은 초기 체크 상태가 거 ~입니다.다른 노드도 확인되는 이유는 무엇입니까?
CheckChildNodes = True입니까? TriStateCheckBoxes는 어떤가요? –
CheckChildNodes = True입니다. TriStateCheckBoxes를 사용하지 않습니다. –
CheckChildNodes가 True이고 부모를 확인하면 "다른"노드도 확인되는 이유를 설명 할 수 있습니다. 그러면 모든 자식도 확인됩니다. –