ChinaDHF
学而不思则罔,思而不学则殆。
博客园
首页
新文章
新随笔
订阅
管理
posts - 41, comments - 219, trackbacks - 5
r.a.d controls 学习笔记 - radcombobox + RadWindowManager 组成的参照控件
在大多数管理系统中,参照录入是不可缺少的,因为我们不可能要求用户记住每一项档案的编码甚至ID。但在WebForm中一直未能找到满意的参照控件,telerik 的 combobox 算是比较好的一个了。
虽然 radcombobox 对参照功能实现的还算不错,却无足满足“上帝”要求的另一项功能:随用随加,即客户往往要在开始日常业务处理时才发现某项基本档案尚未设置,如果让客户退出当前页面->进行档案设置->返回当前页面的确有点不太友好。以下是对该功能的实现:
基本思路:
用radcombobox作为基本参照录入控件,用自己制作的参照按钮+RadWindowsManager组合成对应于 radcombobox 的即时编辑控件。实现效果如图:
(录入控件)
(弹出的档案编辑窗口)
技术难点:
弹出的编辑窗口关闭后,radcombobox 的参照内容必须即时刷新,但不能刷新整个页面(Ajax?)。
实现步骤:
1、按照常规使用 radcombobox 。
2、设计一个用户控件/自定义控件:
a.控件开始呈现为一个按扭,即上图中 radcombobox 右侧带“...”的按扭,最好根据 radcombobox 的各种Skin 绘制。
b.单击按钮可弹出编辑窗口。
c.该控件可与一个 radcombobox 关联(也可以不关联使用),当与 combobox 关联时,关闭编辑窗口后应即时刷新 radcombobox 的参照列表。
d.所有功能都在客户端(至少是表面上)完成。
e.控件具有的属性:关联 radcombobox 的ID,窗口的标题及高度、宽度,窗口中要显示的页面地址(NavigateUrl),按扭是否可见,面页加载时是否弹出窗口等。
关键代码:
1、控件中加入窗口关闭时的客户端脚本调用:
if
(
this
.radComboBoxId
!=
null
&&
this
.radComboBoxId.Length
>
0
)
{
this
.RadWindowManagerPlus.OnClientClose
=
string
.Format(
"
RadComoboBoxReload('{0}')
"
, radComboBoxId);
}
2、客户端脚本:
function
RadComoboBoxReload(cmbId)
//
cmbId 为关联的 radcombobox 的 ID
{
if
(
!
cmbId
||
cmbId.length
==
0
)
return
;
if
(
!
window.tlrkComboBoxes)
return
;
var
comboInstance
=
null
;
for
(
var
i
=
0
; i
<
window.tlrkComboBoxes.length; i
++
)
//
获取 radcombobox 的实例
{
if
(window.tlrkComboBoxes[i].ID
==
cmbId)
{
comboInstance
=
window.tlrkComboBoxes[i];
break
;
}
}
if
(comboInstance)
{
comboInstance.ClearItems();
//
清除现有参照列表
comboInstance.Ib(
true
,
null
);
//
重新加载参照列表
}
}
待完善功能:
1、可将 radcombobox 与上述控件合并后做成复合控件。好处:使用方便,避免了关联操作;坏处:导致上述控件无法单独使用。
2、如能在弹出窗口中加入“关闭”、“关闭并应用”、“取消”之类的按钮或许更加直观,“取消”关闭方式下不再刷新 radcombobox 。
posted on 2007-04-16 17:40
东海风
阅读(637)
评论(1)
编辑
收藏
FeedBack:
#1楼
2007-04-29 21:50 |
kevinhe [未注册用户]
请问写完整的代码来看看?
回复
引用
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
网站首页
新闻频道
社区
小组
博问
网摘
闪存
找找看
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2007-04-16 17:42 编辑过
相关文章:
prototype.js 1.4版开发者手册(强烈推荐)
遭遇w32.lovgate.r@mm爱情后门病毒.
相关链接:
最新IT新闻:
11个处于悬崖边缘的 Web 公司
扎克博格:Facebook要先赚吆喝后赚钱
金融风暴改写富豪榜排名 巴菲特资产超盖茨
红杉资本发出严重警告:黄金时代已成历史
2008年10月11日科技博客精选
计数器:
阿里妈妈再掀疯狂采购风,网站广告位严重告急,急召天下站长
<
2007年4月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
(5)
给我留言
查看留言
随笔档案
(39)
2008年6月 (1)
2008年4月 (2)
2007年12月 (1)
2007年11月 (3)
2007年4月 (1)
2006年10月 (1)
2006年8月 (2)
2006年7月 (7)
2006年5月 (1)
2006年3月 (7)
2006年1月 (4)
2005年12月 (9)
收藏夹
(12)
博客园文章(11)
其他技术网站(1)
技术网站
CSDN.Net
CSharpCorner
Csharp-Source.Net
GotDotNet
MSDN 中文网站
SourceForge.net
The Code Project
UML软件工程组织
博客堂
微软中国社区
中国IT实验室
阅读排行榜
1. 性能测试:Reflection VS CodeDom(12470)
2. Regulator的下载地址(6423)
3. 中缀表达式到逆波兰表达式的转换及求值(4002)
4. 使用ASP.Net Forms模式实现WebService身份验证(3484)
5. 用 .Net Remoting 技术实现“定向广播”(2456)