如何在c#中从Treeview中获取复选框选中值?
我想从Treeview中获取复选框选中值 我将oracle数据库中的数据绑定到Treeview上 代码: 在下面的按钮单击事件中,我尝试了,但不起作用如何在c#中从Treeview中获取复选框选中值?,c#,asp.net,oracle,treeview,C#,Asp.net,Oracle,Treeview,我想从Treeview中获取复选框选中值 我将oracle数据库中的数据绑定到Treeview上 代码: 在下面的按钮单击事件中,我尝试了,但不起作用 protected void btnGet_Click(object sender, EventArgs e) { DataSet ds1= (DataSet)ViewState["ds"]; foreach (DataRow dr in ds1.Tables[0].Rows) {
protected void btnGet_Click(object sender, EventArgs e)
{
DataSet ds1= (DataSet)ViewState["ds"];
foreach (DataRow dr in ds1.Tables[0].Rows)
{
TreeNode tn = new TreeNode();
if (tn.Checked == true)
{
Response.Write(tn.Text);
}
tn.Text = dr["ActivityName"].ToString();
TreeView1.Nodes.Add(tn);
}
}
}
在下图中,如果我选中HR Activity1、Developer Activity3等复选框
我想得到那个值
有什么想法吗?提前感谢获取所有选定树节点集合的简单方法是:
private List<TreeNode> AllCheckedNodes = new List<TreeNode>();
private void GetAllCheckedNodes()
{
for (int i = 0; i < TreeView1.CheckedNodes.Count; i++)
{
AllCheckedNodes.Add(TreeView1.CheckedNodes[i]);
}
}
private List AllCheckedNodes=new List();
私有void GetAllCheckedNodes()
{
对于(int i=0;i
您的btnGet\u Click方法不正确–您在该方法中创建了新的TreeView对象,而该对象不是页面上存在的对象
您需要做的是为SelectedNodeChanged事件创建事件处理程序
这里有一行应该添加到fill_Tree2()方法中
另一个错误是页面加载方法是这样写的。这将在每次重新加载页面时加载您的treview(即使在回发时)。你想要的是这样的东西
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
fill_Tree2();
}
}
请解释你的模式。
private void FillTree()
{
Treeview1.SelectedNodeChanged += Treeview1_SelectedNodeChanged;
}
protected void Treeview1_SelectedNodeChanged(object sender, EventArgs e)
{
string value = Treeview1.SelectedNode.Value;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
fill_Tree2();
}
}