2017-03-14 14 views
0

entityframeworkでLINQを使用してツリービューをバインドしました。ツリー生成コードTreeViewの選択されたイベントが、LINQを使用してgridviewの選択された項目をバインドするために動作していません

protected void GenerateTree() 
{ 
    trvMenu.Nodes.Clear(); 
    ReportColumnDefinationDA reportColumnDa = new ReportColumnDefinationDA(true); 
    List<RB_Report_Column_Defination> listMenu = reportColumnDa.GetAllDefination().OrderBy(x => x.RB_ReportType.Name).ToList(); 
    if (listMenu != null && listMenu.Count > 0) 
    { 
     try 
     { 

      foreach (RB_Report_Column_Defination firstLevelItem in listMenu.GroupBy(i => i.Report_type).Select(g => g.First())) 
      { 
       TreeNode ParentNode = new TreeNode(); 

       ParentNode.Text = firstLevelItem.RB_ReportType.Name; 
       ParentNode.Value = firstLevelItem.Report_type.ToString(); 
       ParentNode.ShowCheckBox = false; 
       ParentNode.SelectAction = TreeNodeSelectAction.None; 
       trvMenu.Nodes.Add(ParentNode); 

       // Add Child Node 


       foreach (RB_Report_Column_Defination secondLevelItem in listMenu.Where(X => X.Report_type == firstLevelItem.Report_type)) 
       { 
        TreeNode childNode = new TreeNode(); 
        childNode.Text = secondLevelItem.Column_Name; 
        childNode.Value = secondLevelItem.Id.ToString(); 
        childNode.SelectAction = TreeNodeSelectAction.None; 

        Session["val"]=secondLevelItem.Id.ToString(); 
        ParentNode.ChildNodes.Add(childNode); 
       } 

      } 
     } 
     catch (Exception ex) 
     { 
      string msg = ex.Message; 
     } 

    } 

} 

以下のように思えるが、今私は、選択/グリッドビュー内のノードをチェックし、私は

を使用するバインドしたい選択したノードをバインドする

イベントをtrvMenu_SelectedNodeChangedグリッドビューとコードをdatainする

protected void trvMenu_SelectedNodeChanged(object sender, EventArgs e) 
{ 
    int id = Convert.ToInt32(Session["val"]); 
    ReportColumnDefinationDA reportDa = new ReportColumnDefinationDA(true); 
    List<RB_Report_Column_Defination> definatons = new List<RB_Report_Column_Defination>(); 
    definatons = reportDa.GetAllDefinationListByID(id); 
    gridRptDefination.DataSource = definatons; 
    gridRptDefination.DataBind(); 
} 

しかし、コードが動作していない、私のコードで何が間違っていますか?私も

をtrvMenu_TreeNodeCheckChangedが、まだ動作していない別のイベントで試してみました、GridViewのは空のままです。

答えて

0

これをtreeview htmlのマークアップに追加しましたか?

OnSelectedNodeChanged="trvMenu_SelectedNodeChanged" 

と、このラインに

ParentNode.SelectAction = TreeNodeSelectAction.Select; 
childNode.SelectAction = TreeNodeSelectAction.Select; 
+0

​​

を変更はい、すべてのマークアップが追加さが、変更イベントがGridViewのを動作していないことは、まだ空です。 –

関連する問題