FineUI 官方论坛
标题:
[已解决]后台动态生成的树,给树添加了NodeCommand事件运行...
[打印本页]
作者:
极寒
时间:
2015-5-14 14:40
标题:
[已解决]后台动态生成的树,给树添加了NodeCommand事件运行...
本帖最后由 极寒 于 2015-5-18 13:20 编辑
Tree innerTree = new Tree();
innerTree.EnableArrows = true;
innerTree.ShowBorder = false;
innerTree.ShowHeader = false;
innerTree.EnableIcons = false;
innerTree.AutoScroll = true;
innerTree.NodeCommand += new EventHandler<TreeCommandEventArgs>(innerTree_NodeCommand);
accordionPane.Items.Add(innerTree);
protected void innerTree_NodeCommand(object sender, FineUI.TreeCommandEventArgs e)
{
//
}
后台动态生成的树,给树添加了NodeCommand事件,运行后没有效果。是Bug还是我代码有问题,是否有其他属性需要设置。(FineUI 4.1.1.1)
作者:
张怡
时间:
2015-5-15 03:38
你树的节点呢?每个需要点击事件节点都要添加 XXXX.EnableClickEvent = true 这个属性
作者:
水殿风暗香满
时间:
2015-5-15 08:53
路过学习
作者:
极寒
时间:
2015-5-15 09:25
本帖最后由 极寒 于 2015-5-15 09:27 编辑
张怡 发表于 2015-5-15 03:38
你树的节点呢?每个需要点击事件节点都要添加 XXXX.EnableClickEvent = true 这个属性 ...
AccordionPane accordionPane = new AccordionPane();
accordionPane.Title = privi.URL_NAME;
accordionPane.Layout = Layout.Fit;
accordionPane.ShowBorder = false;
accordionPane.BodyPadding = "2px 0 0 0";
accordionPane.Collapsed = true;//全部收缩
accordionMenu.Items.Add(accordionPane);
Tree innerTree = new Tree();
innerTree.EnableArrows = true;
innerTree.ShowBorder = false;
innerTree.ShowHeader = false;
innerTree.EnableIcons = false;
innerTree.AutoScroll = true;
innerTree.NodeCommand += new EventHandler<TreeCommandEventArgs>(innerTree_NodeCommand);
accordionPane.Items.Add(innerTree);
var sonPrivi = AllRoleurl.Where(x => x.PK_URL_FATHER == privi.PkUrl).OrderBy(x => x.URL_INDEX).ToList();
foreach (var sonNode in sonPrivi)
{
var gsonPrivi = AllRoleurl.Where(x => x.PK_URL_FATHER == sonNode.PkUrl).OrderBy(x => x.URL_INDEX).ToList();
FineUI.TreeNode node = new FineUI.TreeNode();
if (gsonPrivi.Count == 0)
{
node.NavigateUrl = sonNode.URL_PATH;
}
node.Expanded = true;
node.Text = sonNode.URL_NAME;
node.EnableClickEvent = true;
node.Icon = FineUI.Icon.BulletShape;
innerTree.Nodes.Add(node);
foreach (var gsonNode in gsonPrivi)
{
FineUI.TreeNode gnode = new FineUI.TreeNode();
gnode.Expanded = true;
gnode.Text = gsonNode.URL_NAME;
gnode.EnableClickEvent = true;
gnode.Icon = FineUI.Icon.BulletShape;
gnode.NavigateUrl = gsonNode.URL_PATH;
node.Nodes.Add(gnode);
}
} // ResolveTreeNode(innerTree.Nodes);
绑定的所有Node都加了node.EnableClickEvent = true;依然没效果,根本走不到事件里面的断点。
protected void innerTree_NodeCommand(object sender, FineUI.TreeCommandEventArgs e)
{
//
}
作者:
张怡
时间:
2015-5-16 05:30
如果添加了,就没有任何问题了,我把你的代码测试了一下,运行正常!
作者:
隨風往事
时间:
2015-5-16 10:14
好像不是这样添加事件的吧
作者:
极寒
时间:
2015-5-18 13:19
问题解决了。树的绑定代码应该放在 protected void Page_Init(object sender, EventArgs e) 中,之前的代码放在protected void Page_Load(object sender, EventArgs e) 中。应该是页面回发时,绑定的事件不会被创建。
欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/)
Powered by Discuz! X3.4