简单问题送分:怎样在treeview中添加checkbox控件?

xxqq0824 2006-05-16 06:16:17
如题,怎样添加?还有如何在点击按钮后,获得被选择的项 ?我知道逃遍历,但是它有什么属性来支持呢?请教个比较菜的问题。
...全文
159 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sprc_lcl 2006-05-16
  • 打赏
  • 举报
回复
给你贴段程序,自个研究吧,回家饭饭了

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
using Microsoft.Web.UI.WebControls;

namespace testpage
{
/// <summary>
/// left 的摘要说明。
/// </summary>
public class left : System.Web.UI.Page
{
protected Microsoft.Web.UI.WebControls.TreeView TreeView1;

private void Page_Load(object sender, System.EventArgs e)
{
OleDbConnection MyConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("db1.mdb"));

System.Data.DataSet ds = new System.Data.DataSet();
string sqlstr = "select * from p_type order by id asc";
OleDbDataAdapter myCommand = new OleDbDataAdapter(sqlstr, MyConnection);
myCommand.Fill(ds);
InitTrees2(this,TreeView1.Nodes,ds,"0","id","father_id","type_name");
TreeView1.Attributes.Add("oncheck","javascript:return tree_oncheck(this);");
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion


/// <summary>
/// InitTrees2 的摘要说明。
/// 把一个Dataset中的数据无限级绑定到树上权限
/// Nds为树结点集,ds为要Dataset,firstmenuid为第一位父ID值,menuid为子ID名,menufather_id为父ID名,menuname为要显示的内容字段
/// </summary>
public static void InitTrees2(System.Web.UI.Page MyPage,Microsoft.Web.UI.WebControls.TreeNodeCollection Nds,System.Data.DataSet ds,string firstmenuid,string menuid,string menufather_id,string menuname)
{
DataView dv=new DataView();
TreeNode tmpNd;
string intId;
dv.Table=ds.Tables[0];
dv.RowFilter = menufather_id + "='" + firstmenuid + "'" ;
int i=1;
foreach(DataRowView drv in dv)
{
i++;
tmpNd=new TreeNode();
tmpNd.ID = drv[menuid].ToString();
tmpNd.CheckBox = true;

tmpNd.Text = "<font style='FONT-SIZE: 12px'>" + drv[menuname].ToString() + "</font>";
Nds.Add(tmpNd);
intId=drv[menuid].ToString();
InitTrees2(MyPage,tmpNd.Nodes,ds,tmpNd.ID,menuid,menufather_id,menuname);
}
}
}
}
xxqq0824 2006-05-16
  • 打赏
  • 举报
回复
再注明一下,这个是web上的treeview,别误会了
sprc_lcl 2006-05-16
  • 打赏
  • 举报
回复
TreeNode.Checked

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧