【发布时间】:2023-03-13 15:53:01
【问题描述】:
我有一个需要更改为树视图的复选框列表。我这样做了,但现在我想要的是检索在树视图(onclick)上检查的项目,就像在复选框列表上所做的那样。
在复选框列表中,我可以使用 cblist.Items[k].Selected
获取项目
如何使用树视图做到这一点?
另一个问题,我怎么数它们?
private void Tree()
{
try
{
Dados d = new Dados();
DataTable dtTree = d.getTreeView("%");
DataSet ds = new DataSet("table");
ds.Tables.Add(dtTree);
ds.Relations.Add("ChildRows", ds.Tables[0].Columns["ID"],
ds.Tables[0].Columns["ParentID"]);
foreach (DataRow level1DataRow in ds.Tables[0].Rows)
{
if (string.IsNullOrEmpty(level1DataRow["ParentID"].ToString()))
{
TreeNode parentTreeNode = new TreeNode();
parentTreeNode.Text = "<span style=\"color:" + level1DataRow["Color"].ToString() + "\">" + level1DataRow["Description"].ToString() + "</span>";
GetChildRows(level1DataRow, parentTreeNode);
Treeview1.Nodes.Add(parentTreeNode);
}
}
}
catch (Exception ex)
{
//something
}
}
private void GetChildRows(DataRow dataRow, TreeNode treeNode)
{
DataRow[] childRows = dataRow.GetChildRows("ChildRows");
foreach (DataRow row in childRows)
{
TreeNode childTreeNode = new TreeNode();
childTreeNode.Text = "<span style=\"color:" + row["Color"].ToString() +"\">" + row["Description"].ToString() +"</span>";
childTreeNode.Value = row["LocalID"].ToString();
treeNode.ChildNodes.Add(childTreeNode);
if (row.GetChildRows("ChildRows").Length > 0)
{
GetChildRows(row, childTreeNode);
}
}
}
还有复选框列表
private void cbox()
{
try
{
Dados d = new Dados();
string instalacao = "";
DataTable dtList = d.getLocal("%");
DataView dataView = new DataView(dtList);
dataView.Sort = " Color asc, Description asc";
cblist.DataSource = dataView;
cblist.DataTextField = "Description";
cblist.DataValueField = "LocalID";
cblist.DataBind();
}
catch (Exception ex)
{
//something
}
}
【问题讨论】:
-
显示一些代码伙伴。
标签: asp.net treeview checkboxlist