treelist控件 即树状表格 有的也叫treelistview
解决方案 »
- 谁用过ajax,帮忙解决一个问题
- 怎么创建DataTable后再将其代码绑定到gridview中去
- url rewriter的路径问题
- asp.net 视频播放代码
- 问题解决就结贴,w3c规范中如何应用滚动条?
- 请问ajax.aspx 中的数据结构是怎样的?
- 如何用File删除一个文件夹下的全部文件?
- 怎么会这样呢? javacript 让页面字体 变大了。。
- 为什么要定义Web service???
- 我看了"程序员"第三期的文章,其中有一个hexiesoft.net组件,我觉得感兴趣,但为什么不能打开?
- ASP.NET 数据库SqlServr打包问题
- 求助,关于在panel里动态添加控件的问题~~~~~~~~~
其实也不难啊,动态生成表格,然后用css控制下
treeview 也是很不错的,微软开发的很智能化
随便找点资料看下就会了
/// 树形结构的列表显示
/// </summary>
/// <param name="tbs">树形结构数据源</param>
/// <param name="ValueField">绑定列的Value</param>
/// <param name="TextField">绑定列的Text</param>
/// <param name="ParentField">数据源中表示父结点的字段名称</param>
/// <param name="FillSpace">字段前显示的值</param>
/// <returns>数据集合</returns>
public static DataTable GetTreeList(DataTable tbs, string ValueField, string TextField, string ParentField,string FillSpace)
{
//Level,指定层级,加入新row时根据其上层row加一
DataTable tbss = tbs.Copy(); DataTable tb = tbs.Clone();
tb.Columns.Add("Level", Type.GetType("System.Int32")); DataRow row; //先将顶级菜单放入tb
DataRow[] TopRows = tbss.Select(ParentField.ToString() + @" = '0'");
for (int i = 0; i < TopRows.Length; i++)
{
row = tb.NewRow();
for (int j = 0; j < tbss.Columns.Count; j++)
{
row[j] = TopRows[i][j].ToString();
}
row["Level"] = 0;
tb.Rows.Add(row);
} DataRow[] rows;
for (int i = 0; i < tb.Rows.Count; i++)//tb.Rows.Count这个数字也是不断的在增大的,因为不断的插入新行
{
// tb进行循环
string strSpace = " ";
for (int j = 0; j < Convert.ToInt32(tb.Rows[i]["Level"]); j++)
{
strSpace += " ";
}
rows = tbss.Select(ParentField + "=" + "'" + tb.Rows[i][ValueField].ToString() + "'");//父级编号为此行的id
for (int j = rows.Length - 1; j >= 0; j--) //倒循环,结果可以正序
{
//循环嵌套对刚才的
row = tb.NewRow();
for (int k = 0; k < tbss.Columns.Count; k++)
{
row[k] = rows[j][k].ToString();
}
row[TextField] = strSpace + FillSpace + rows[j][TextField].ToString();
row["Level"] = Convert.ToInt32(tb.Rows[i]["Level"]) + 1;
tb.Rows.InsertAt(row, i + 1);
}
}
return tb;
}这个是糊弄人的,倒是可以参考一下能否符合你的要求
http://www.bindows.net/bindows/html/bimain.html?Adf=http%3A%2F%2Fwww.bindows.net%2Fdemos%2F..%2Fbindows%2Ftest%2FBindowsTest.xml;AdfName=BindowsTest;Params=0
点击GridView and trees选项卡下的tree2