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