SmartControls.AspTreeGrid 散源码 + 请求测试支持

SVG 2005-10-08 12:36:04
SmartControls.AspTreeGrid 现在公开测试
--------------------------------------------------------------------------------
SmartControls.AspTreeGrid 介绍:
作者: ben
MSN/Email: benjamine65@hotmail.com
(欢迎添加好友, 不过请明示身份, 因为好友栏人数快满了, 我会定期清理擅长潜水神龙)

之前很多朋友问我如何实现: 将一张表无限递归结构的记录在DataGrid里显示成树结构
现在特意将它做成 AspTreeGrid 控件

大家可以从DotNet中华网(http://www.aspxcn.org)下载栏里下载本控件的原型试验版本(AspTreeGrodDemo), 可知它是基于 DataGrid 开发的.
在线演示地址: http://web.hianf.com/AspTreeGrid/Prototype.aspx

控件设计目标: 会用DataGrid, 就会做TreeGrid, TreeView等树相关的东东.

目前控件暂只实现数据显现功能, 管理功能实现在进行中. 下载地址: http://www.aspxcn.org/downloads/SmartControlsDemo.rar

在这里请大家抽一点时间帮忙测试, 主要是控件的黑盒测试, 重点在:

* 按DataGrid一般的使用方法, 测试控件的数据呈现功能 (基本功能测试)
* 多样性的应用情况 (可以是您项目中的使用情况)
* 故障处理

测试方面不限上面提的, 欢迎大家提意见, 控件现在还在开发中

将论功共享源码.

以下是本控件的一些相关图片:

http://www.aspxcn.org/RichTextBox/sys/upload/2005107235745.jpg
TreeGrid的VS.NET里的设计视图

http://www.aspxcn.org/RichTextBox/sys/upload/2005107235716.jpg
TreeGrid的效果图

http://www.aspxcn.org/RichTextBox/sys/upload/200510723587.jpg
TreeGrid可以当TreeView使用

http://www.aspxcn.org/RichTextBox/sys/upload/200510723590.jpg
实现TreeView的效果图


...全文
979 70 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
70 条回复
切换为时间正序
请发表友善的回复…
发表回复
daimi01171 2005-10-14
  • 打赏
  • 举报
回复
强!
ekingxu 2005-10-14
  • 打赏
  • 举报
回复
up
ghchen 2005-10-14
  • 打赏
  • 举报
回复
这个一定要支持
qazsw 2005-10-14
  • 打赏
  • 举报
回复
厉害啊
ljqdu1982 2005-10-14
  • 打赏
  • 举报
回复
先顶了,下班再看看!!!
pensy 2005-10-14
  • 打赏
  • 举报
回复
very good!
Gorgee 2005-10-13
  • 打赏
  • 举报
回复
好象不支持firefox
anycall2004 2005-10-13
  • 打赏
  • 举报
回复
不错~~~~~~
kemin 2005-10-13
  • 打赏
  • 举报
回复
在TreeGrid/Demo.aspx页面中增加了一些代码做测试,主要想测试一下原有ViewState机制是否在ajax中同样可用,
变化的代码如下,在页面中新增了一个Button按钮,点击事件为Button1_Click:
private void Page_Load(object sender, System.EventArgs e)
{
AspTreeGrid1.DataSource = GetDataByParentID(0);
AspTreeGrid1.DataBind();

if(!this.IsPostBack)
{
this.ViewState["count"] = 100;
}

int count = (int)this.ViewState["count"];
int hashCode = this.ViewState.GetHashCode();
}

private void AspTreeGrid1_TreeGridExpand(object sender, benSoft.Web.WebControls.TreeEventArgs e)
{
e.ChildDataSource = GetDataByParentID(int.Parse(e.ParentID));

this.ViewState["count"] = (int)this.ViewState["count"] + 1;
int count = (int)this.ViewState["count"];
int hashCode = this.ViewState.GetHashCode();
}

private void Button1_Click(object sender, System.EventArgs e)
{
this.ViewState["count"] = (int)this.ViewState["count"] + 1;
int count = (int)this.ViewState["count"];
int hashCode = this.ViewState.GetHashCode();
}

在页面中展开节点或点击按钮,在调试状态中跟踪count的数值和hashCode的值,发现如下结果:
1、第一次加载时,在Page_Load中得到count = 100,hashCode = 104
2、展开一个节点,在AspTreeGrid1_TreeGridExpand中得到count = 101,hashCode = 104;
3、再展开一个节点,在AspTreeGrid1_TreeGridExpand中得到count = 102,hashCode = 104;

4、点击Button1按钮,在Page_Load中得到count = 100,hashCode = 87。
在Button1_Click中得到count = 101,hashCode = 87。
5、再点击Button1按钮,在Page_Load中得到count = 101,hashCode = 107。
在Button1_Click中得到count = 102,hashCode = 107。
6、再点击Button1按钮,在Page_Load中得到count = 102,hashCode = 91。
在Button1_Click中得到count = 103,hashCode = 91。

7、再展开一个节点,在AspTreeGrid1_TreeGridExpand中得到count = 103,hashCode = 104;

测试给人的感觉是,在AspTreeGrid1_TreeGridExpand方法中得到的ViewState对象与在常规方法中得到的ViewState对象不是同一个。
另外,将这个页面在多个窗口中打开,在多个页面的AspTreeGrid1_TreeGridExpand中跟踪发现,几个页面的ViewState是共用的,是同一个对象。
在一个页面中点击展开多次后,发现其它页面中也累加了这个次数。也就是说AspTreeGrid1_TreeGridExpand中的这个ViewState并不是一页面所独有,是被多个页面共用的,
尝试将所有窗口都关闭,再打开一个新的窗口,发现这个ViewState中的记数仍然保留,感觉它的生命周期比Session还长。

如果这样的话,也就是在AspTreeGrid1_TreeGridExpand这样的ajax方法中使用asp.net以前常用的ViewState对象就有问题了。

不知各位有没有碰到这样的问题?

shoutor 2005-10-13
  • 打赏
  • 举报
回复
楼主厉害啊
liucan 2005-10-13
  • 打赏
  • 举报
回复
哦.!~支持..不错.!~学习学习!~
moodboy1982 2005-10-13
  • 打赏
  • 举报
回复
学习呀
WeekZero 2005-10-13
  • 打赏
  • 举报
回复
支持
quanyi 2005-10-12
  • 打赏
  • 举报
回复
学习
goody9807 2005-10-12
  • 打赏
  • 举报
回复
支持一下
SVG 2005-10-11
  • 打赏
  • 举报
回复
其实之前一直在忙, 时间过得很快, 期间只是一些小作品, 难登大雅之堂(http://e65.sogot.com). 一直想做一系列总结项目开发中用到的控件.

在这里感谢许多新老朋友的支持, maybe朋友们有能力加入这个设计, 或者可以出谋添策, 又或者发表一下对一些你们项目中开发很想要的一个"东西", 希望...... up :)
foxconn_nich 2005-10-11
  • 打赏
  • 举报
回复
牛人
bitsbird 2005-10-11
  • 打赏
  • 举报
回复
又有新作品了,支持一下
loveyzy 2005-10-11
  • 打赏
  • 举报
回复
万分不错,希望共享!
hedonister 2005-10-11
  • 打赏
  • 举报
回复
十分不错,希望能开源
加载更多回复(50)

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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