首页 新闻 搜索 专区 学院

(ASP Web控件)怎么才能做出类似GridView列集合属性编辑器窗口的样子

0
悬赏园豆:5 [已关闭问题] 关闭于 2010-08-30 13:14

编写web控件的集合属性时,如果指定的属性编辑器的基类是CollectionEditor,那么属性编辑器的外观是这样的

如何才能实现类似GridView的属性编辑器窗口
也就是上图中粗的红色方框中的区域.

Paradox的主页 Paradox | 初学一级 | 园豆:105
提问于:2010-08-20 02:33
< >
分享
所有回答(3)
0

你要在b/s还是c/s下实现呀?

Astar | 园豆:40805 (高人七级) | 2010-08-20 09:56
WebControl
支持(0) 反对(0) Paradox | 园豆:105 (初学一级) | 2010-08-20 11:41
0

参考下SharpDevelop的源码,这是目前唯一的一个仿vs的UI开源程序。

http://www.icsharpcode.net/opensource/sd/

邀月 | 园豆:25375 (高人七级) | 2010-08-20 10:02
0

你在你定义的集合属性上面加上 Editor 特性(Attribute)

[Editor("System.Web.UI.Design.WebControls.DataControlFieldTypeEditor, System.Design, Version=4.0.0.0,
 Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
typeof(UITypeEditor))]
     
看个例子:

public class DevGridView:GridView
{
[Editor(
"System.Web.UI.Design.WebControls.DataControlFieldTypeEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
[Category(
"Extensions")]
[DefaultValue(
"")]
[PersistenceMode(PersistenceMode.InnerProperty)]
[MergableProperty(
false)]
[Description(
"DataControls_Columns")]
public virtual DataControlFieldCollection Items { get; set; }

}

如果你用的VS 是2005/2008 那就找相应的版本替换就可以。

 


HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-20 10:02
Editor特性已添加,是自己定制的Editor类 继承自CollectionEditor 效果如上面一张图所示
支持(0) 反对(0) Paradox | 园豆:105 (初学一级) | 2010-08-20 11:43
那你继承 System.Web.UI.Design.WebControls.DataControlFieldTypeEditor 就好了啊。或者你参考System.Web.UI.Design.WebControls.DataControlFieldTypeEditor 的源代码自己实现相同的功能也行。
支持(0) 反对(0) HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-20 11:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册