C#中的treeview 如何写左击事件 我的窗口左边是动态生成的treeview树形结构,右侧是一个GridView,请问如何点击treeview的节点文字在GridView显示相应的数据,关键是在treeview的哪个事件中写,还有点击后如何获取选择的ID和PARENTID,我用的是VS2008,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 treeView_NodeMouseClick e.Node就是点击的节点,你可以根据他的Name或Text值判断对应的GridView数据 动态生成树时,把id和绑定到treeview的Tag属性里,然后在树的MouseUp事件里写代码 private void treeView1_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { TreeNode node = treeView1.SelectedNode; if (node != null) { string id = node.Tag.ToString(); //ID if (node.Parent != null) { string parentid = node.Parent.Tag.ToString(); //ParentID //GridView根据id和parentid显示相应的数据 } } } } 可是在我的treeView事件中找不到treeView_NodeMouseClick事件 AfterSelect 就行,void Tree_AfterSelect(object sender, TreeViewEventArgs e)ID获取:e.Node.IndexPARENTID: e.Node.Parent.Index此外还有:e.Node.Level来判断当前选择的是第几级的节点至于点击treeview的节点文字在GridView显示相应的数据,直接根据e.Node.Text来判断吧~~ treeView_NodeMouseClick e.Node就是点击的节点,你可以根据他的Name或Text值判断对应的GridView数据 treeView_NodeMouseClick e.Node就是点击的节点,你可以根据他的Name或Text值判断对应的GridView数据 treeView_NodeMouseClick e.Node就是点击的节点,你可以根据他的Name或Text值判断对应的GridView数据 是webform???用那个SelectedNodeChanged事件应该可以的 是的,可以我在 中写了语句,测试时也没反映 protected void TV_SelectedNodeChanged(object sender, EventArgs e) { Label1.Text = "12341234"; } webform 中的treeview,有高手解答吗?我在SelectedNodeChanged事件中写了,确实没反映不知是什么原因? 我的treeview是放在UpdatePanel里的 treeView_NodeMouseClick 事件e.node 是选择的节点 我是webform 现在我发现调试跟踪时edt_1.Text 是有值的 protected void TV_SelectedNodeChanged(object sender, EventArgs e) { this.edt_1.Text =TV.SelectedNode.Text; }可以运行完成后,页面上的edt_1.Text还是空的,不知是什么原因 treeview 加了UpdatePanel 不doPostBack后台了。。 。 Ghost_Khz说的很对,可是我现在想treeview 放在UpdatePanel里,又想实现我上面的功能,有什么办法能解决吗?谢谢 把treeview的postback 设置为true 可是我在webform 的TREEVIEW中没有找到postback 属性 private void tv_monitor_AfterSelect(object sender, TreeViewEventArgs e) { SetSelectNode(); string parmText = ""; bool tabisvisible = false; if (e.Node.Level == 0)//地市 { parmText = e.Node.Tag.ToString(); } else if (e.Node.Level == 1)//类型 { parmText = e.Node.Tag.ToString(); } else if (e.Node.Level == 2)//小区 { parmText = e.Node.Tag.ToString(); tabisvisible = e.Node.Parent.Text == "场馆" ? true : false; } FitDataGridView(parmText, tabisvisible); }给你一段代码吧 这个是用AfterSelect事件的,通过e.Node.Tag获得相应的ID,放到parmText中,FitDataGridView(parmText, tabisvisible)是填充DataGridView的函数。 我是webform 没有这个事件 好像也没有AfterSelect 事件 响应TreeView的SelectedNodeChanged事件可以达到目的,注意:TreeNode的SelectAction需要是Select或SelectExpand,并且TreeNode的NavigateUrl不能填内容,否则点击那个Node不会引发TreeView的SelectedNodeChanged事件。 一般大家的做法是这样的:生成树的时候,在new一个新节点,它的三个属性要利用,一个text,用于存放名称,一个name用于存放当前ID,还有个是Tag,你可以存放另外一些重要的东西,你甚至可以把实体直接放入,选中节点触发afterselect事件,要取得父ID很简单,当前节点的父节点的name就是了,至于treeview datagridview 还有实体类的互操作是很技巧,让他们联动起来,选中其中的某个,就可以让三个都对齐,可以使用反射来写个通用类希望对你有帮助。呵呵 没分数求帮助 关于C# 登录窗口 System::Windows::Forms::Form 类的对象都包含什么"非托管资源"? DataGridView中的DataGridViewTextBoxColumn列可以设置成多行的吗? c# winform 无法加载 DLL,找不到指定的模块。 Int32 数据为何不溢出? 关于打印的小问题,达人乱入 如何在C#中把数据进行UTF8编码? 在线等,请各位帮忙看一看,关于DataGrid的问题。 大家看看这样条件的.Net项目经理大概需要多少薪水? 怎样分割字符串? datagridview的数据添加 求winform上传功能如何实现?
e.Node就是点击的节点,你可以根据他的Name或Text值判断对应的GridView数据
private void treeView1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
TreeNode node = treeView1.SelectedNode;
if (node != null)
{
string id = node.Tag.ToString(); //ID
if (node.Parent != null)
{
string parentid = node.Parent.Tag.ToString(); //ParentID
//GridView根据id和parentid显示相应的数据
}
}
}
}
void Tree_AfterSelect(object sender, TreeViewEventArgs e)ID获取:e.Node.Index
PARENTID: e.Node.Parent.Index
此外还有:e.Node.Level来判断当前选择的是第几级的节点至于点击treeview的节点文字在GridView显示相应的数据,直接根据e.Node.Text来判断吧~~
e.Node就是点击的节点,你可以根据他的Name或Text值判断对应的GridView数据
e.Node就是点击的节点,你可以根据他的Name或Text值判断对应的GridView数据
e.Node就是点击的节点,你可以根据他的Name或Text值判断对应的GridView数据
protected void TV_SelectedNodeChanged(object sender, EventArgs e)
{
Label1.Text = "12341234";
}
现在我发现调试跟踪时edt_1.Text 是有值的
protected void TV_SelectedNodeChanged(object sender, EventArgs e)
{
this.edt_1.Text =TV.SelectedNode.Text;
}
可以运行完成后,页面上的edt_1.Text还是空的,不知是什么原因
{
SetSelectNode();
string parmText = "";
bool tabisvisible = false;
if (e.Node.Level == 0)//地市
{
parmText = e.Node.Tag.ToString();
}
else if (e.Node.Level == 1)//类型
{
parmText = e.Node.Tag.ToString();
}
else if (e.Node.Level == 2)//小区
{
parmText = e.Node.Tag.ToString();
tabisvisible = e.Node.Parent.Text == "场馆" ? true : false;
}
FitDataGridView(parmText, tabisvisible);
}
给你一段代码吧 这个是用AfterSelect事件的,通过e.Node.Tag获得相应的ID,放到parmText中,FitDataGridView(parmText, tabisvisible)是填充DataGridView的函数。
我是webform 没有这个事件
datagridview 还有实体类的互操作是很技巧,让他们联动起来,选中其中的某个,就可以让三个都对齐,可以使用反射来写个通用类希望对你有帮助。呵呵