为什么asp.net中TreeView控件,选中checkbox不会触发事件,非要点一下结点才行?
为什么在asp.net中TreeView控件,选中checkbox不会触发事件,非要点一下结点才触发TreeView1_TreeNodeCheckChanged事件?有没有TreeView的实例,勾选了几个子结点后,右边的列表会选条件筛选。
我目前在做的是人事的一个小系统,左边是一个部门列表的TreeView,右边是一个人员列表的GridView,我想通过勾选左边的部门来筛选右边的人员。
那位大侠给个完整点的实例,本人菜鸟,刚学asp.net没两个月。谢谢!
------解决方案--------------------多选是吗?
那么当然是选择多个checkbox之后点击一个button才去开始调用业务层并然后才刷新右边的内容。
asp.net并不像winform或则silverlight那样的运行平台,因此asp.net无法做到灵敏的交互操作体验。当多选的时候每当选择一个都刷新右边,这反而对asp.net程序来说是不好的用户体验,只有那些不太懂ajax而第一次使用它的人才会去犯这个毛病。
------解决方案--------------------可以注册JS触发
------解决方案--------------------貌似可以啊
protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
setChildNodeCheckedState(e.Node,e.Node.Checked);
}
------解决方案--------------------多条件判断就选择之后,再点击按钮等查询绑定到gridview
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
if (this.TreeView1.SelectedNode != null)
{}
}
this.TreeView1.Attributes.Add("onclick", "postBackByObject()");
function postBackByObject()
{
var o = window.event.srcElement;
if (o.tagName == "INPUT" && o.type == "checkbox")
{
var c = document.getElementsByTagName("INPUT");
__doPostBack("","");
}
}