TreeView绑定XML数据源C#代码示例
2009-05-11 18:30
316 查看
private void BindTreeView()
{
UnitInfo bUnitInfo = new UnitInfo();
DataSet ds = bUnitInfo.GetUnitInfo();
if (ds != null && ds.Tables[0].Rows.Count > 0)
{
bool HasAddedLast = true; ;
string strDs = "<?xml version='1.0' encoding='GB2312'?>";
for (int i = 1; i < ds.Tables[0].Rows.Count; i++)
{
strDs += "<a Name='" + ds.Tables[0].Rows[i-1][1].ToString() + "' TID='" + ds.Tables[0].Rows[i-1][0].ToString() + "'>";
for (int j = i; j < ds.Tables[0].Rows.Count; j++)
{
i = j;
if (ds.Tables[0].Rows[j-1]["Path"].ToString().Length == ds.Tables[0].Rows[j]["Path"].ToString().Length)
{
strDs += "</a><a Name='" + ds.Tables[0].Rows[j][1].ToString() + "' TID='" + ds.Tables[0].Rows[j][0].ToString() + "'>";
}
else if (ds.Tables[0].Rows[j -1]["Path"].ToString().Length < ds.Tables[0].Rows[j]["Path"].ToString().Length)
{
strDs += "<a Name='" + ds.Tables[0].Rows[j][1].ToString() + "' TID='" + ds.Tables[0].Rows[j][0].ToString() + "'>";
}
else
{
if (i==ds.Tables[0].Rows.Count-1)
{
HasAddedLast = false;
}
break;
}
}
int nCount = 0;
nCount = System.Math.Abs(ds.Tables[0].Rows[i - 1]["Path"].ToString().Length - ds.Tables[0].Rows[i]["Path"].ToString().Length) / 5 + 1;
for (int j = 0; j < nCount; j++)
{
strDs += "</a>";
}
if ((i == ds.Tables[0].Rows.Count - 1) && HasAddedLast==false)
{
strDs += strDs += "<a Name='" + ds.Tables[0].Rows[i][1].ToString() + "' TID='" + ds.Tables[0].Rows[i][0].ToString() + "'>";
for (int k = 0; k < (ds.Tables[0].Rows[i]["Path"].ToString().Length/5-1); k++)
{
strDs += "</a>";
}
}
}
strDs += "</a>";
XmlDataSource xds = new XmlDataSource();
xds.ID = "XDS";
xds.Data = strDs;
TreeView1.DataSource = xds;
TreeView1.DataBind();
}
}
这个算法没有经过大量数据的检验,有待考证!
{
UnitInfo bUnitInfo = new UnitInfo();
DataSet ds = bUnitInfo.GetUnitInfo();
if (ds != null && ds.Tables[0].Rows.Count > 0)
{
bool HasAddedLast = true; ;
string strDs = "<?xml version='1.0' encoding='GB2312'?>";
for (int i = 1; i < ds.Tables[0].Rows.Count; i++)
{
strDs += "<a Name='" + ds.Tables[0].Rows[i-1][1].ToString() + "' TID='" + ds.Tables[0].Rows[i-1][0].ToString() + "'>";
for (int j = i; j < ds.Tables[0].Rows.Count; j++)
{
i = j;
if (ds.Tables[0].Rows[j-1]["Path"].ToString().Length == ds.Tables[0].Rows[j]["Path"].ToString().Length)
{
strDs += "</a><a Name='" + ds.Tables[0].Rows[j][1].ToString() + "' TID='" + ds.Tables[0].Rows[j][0].ToString() + "'>";
}
else if (ds.Tables[0].Rows[j -1]["Path"].ToString().Length < ds.Tables[0].Rows[j]["Path"].ToString().Length)
{
strDs += "<a Name='" + ds.Tables[0].Rows[j][1].ToString() + "' TID='" + ds.Tables[0].Rows[j][0].ToString() + "'>";
}
else
{
if (i==ds.Tables[0].Rows.Count-1)
{
HasAddedLast = false;
}
break;
}
}
int nCount = 0;
nCount = System.Math.Abs(ds.Tables[0].Rows[i - 1]["Path"].ToString().Length - ds.Tables[0].Rows[i]["Path"].ToString().Length) / 5 + 1;
for (int j = 0; j < nCount; j++)
{
strDs += "</a>";
}
if ((i == ds.Tables[0].Rows.Count - 1) && HasAddedLast==false)
{
strDs += strDs += "<a Name='" + ds.Tables[0].Rows[i][1].ToString() + "' TID='" + ds.Tables[0].Rows[i][0].ToString() + "'>";
for (int k = 0; k < (ds.Tables[0].Rows[i]["Path"].ToString().Length/5-1); k++)
{
strDs += "</a>";
}
}
}
strDs += "</a>";
XmlDataSource xds = new XmlDataSource();
xds.ID = "XDS";
xds.Data = strDs;
TreeView1.DataSource = xds;
TreeView1.DataBind();
}
}
这个算法没有经过大量数据的检验,有待考证!
相关文章推荐
- ASP.NET实现TreeView的XML数据源绑定实例代码
- ASP.NET实现TreeView的XML数据源绑定实例代码
- ASP.NET实现TreeView的XML数据源绑定实例代码
- C#.NET示例读写xml所有节点的代码实现方法和读取xml节点的数据总结
- C#.NET示例读写xml所有节点的代码实现方法和读取xml节点的数据总结
- treeview非xml数据源绑定
- asp.net 2.0(C#)gridview数据绑定后,通过代码能否再改变数据源呢
- .net C# XML / Binary 序列化反序列化代码示例
- C#中treeview绑定xml
- C#中TreeView绑定到XML
- C#_以SQLDataReader为数据源,实现TreeView与ListView之间的动态绑定
- C# xml内容绑定treeview
- TreeView的数据源绑定—采用XML作为数据源,实现对treeview进行增删改查,之后回写XML文档
- [转]操作xml,将xml数据显示到treeview的C#代码
- C# 回顾简单XML动态递归绑定TreeView
- HierarchicalDataTemplate层次模板绑定XML数据源到Menu和TreeView
- 数据绑定技术_单值数据绑定示例;将 DataTable,DataSet,DataView,DataReader 绑定到 DataGrid 控件示例;DataBinder.Eval;数组的值赋给ListBox1;Hashtable 绑定到;RadioButtonList;将XML 文件做为数据源绑定到控件
- ASP.NET实现TreeView的XML数据源绑定
- C# 回顾简单XML动态递归绑定TreeView
- C#.NET示例读写xml所有节点的代码实现方法和读取xml节点的数据总结