浏览 4117 次
锁定老帖子 主题:秀下用EXTJS做的界面,顺便请教几个问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-24
有以下问题: 1:Grid的刷新:我用grid.getView().refresh()不起作用,如在Data list中用某一个字段做了查询后,我想在用户选择 Page Locate后,将grid的数据重新装载下,目前没办法的情况下用的 submit,谁有可以实现grid数据刷新的代码呀? 2:函数作用域的问题: 比如在insert界面中,有一个输入框,我用var aaaobj = new Ext.form.TextField({id:'aaa',.....});如果我想写一个 aaaobj.on('blur',test1),那么这个test1函数就一定要写在 Ext.onReady(function(){.....})中间,而在insert界面中,最下一行button是自己用table html写出来的,而button的onClick假定为test2事件,这样那个test2就不能写入Ext.onReady(function(){.....})中间了,否则说找不到函数,但是,如果用<script language=Javascript>function test2(){......}</script>这样写的话,函数可以执行,但在这个函数就不能使用上面定义的aaaobj这个对象了,只能使用Ext.get('aaa').dom这样,但这种方式取的对象只能取值,不能使用Ext中定义的一些方法或属性。 3:自定义属性的问题。 比如,我在初始一个输入框时,var aaaobj = new Ext.form.TextField({id:'aaa',.....});我定义了aaaobj的一个属性比如叫testp,值为testpv,那么我只要直接加入 testp:'testpv',就行了,但是,我只能使用aaaobj.testp才能返回这个属性值,而不能使用Ext.get('aaa').testp了,其实如果能解决第二个问题,让自定义的函数也能写入Ext.onReady(function(){.....})中间,那这个问题也就无所谓了,我就直接使用对象了,而不去用Ext.get('')了,但如果第二个问题没办法解决,谁有办法可以自定义对象的属性并加以调用呢? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-05-24
ext 的ui真是越看越恶心啊 ,呵呵
|
|
返回顶楼 | |
发表时间:2008-05-24
做的再好有什么用,诶~~~
除非你买了license,不然你必须共享你的源代码。 你买了license了吗? 如果没有的话而你也没有共享你的源代码,你就要当心别人告你违法了。 所以即便是你用了还是要低调一点。 |
|
返回顶楼 | |
发表时间:2008-05-24
sdlfly2000 写道 做的再好有什么用,诶~~~
除非你买了license,不然你必须共享你的源代码。 你买了license了吗? 如果没有的话而你也没有共享你的源代码,你就要当心别人告你违法了。 所以即便是你用了还是要低调一点。 买一个用户开发版的,才2K多,如果好用,准备买呀 |
|
返回顶楼 | |
发表时间:2008-05-24
jjx 写道 ext 的ui真是越看越恶心啊 ,呵呵
这位兄台,有比Ext更好的UI控件?做程序的人,无论什么界面,看得多了,都觉得恶心,但对于用户来说,就不同了,window的无论什么界面,我看都恶心,特别是XP的,但用户都觉得XP界面好看,哎,不同的视觉呀...... |
|
返回顶楼 | |
发表时间:2008-05-24
1,grid.getStore(). reload([Object options])
2,aaaobj.on('blur',test1) a,test1放在全局作用域下,可以访问。但如果是一个独有方法的话,写个“匿名”方法也可以。 b,test1方法的第一个参数会传处发对象的当前实例。可以用它进行引用。 c,您也可以参考on( String eventName, Function fn, [Object scope], [Object options] ) 方法,还指定运行时的作用域,来达到test1方法具体运行时的作用域。 3,我理解您这儿应该是自定义属性而非自定义组件吧,这样的话通过公开API是访问不到的。但您如果非要访问的话,可以通过引用对象实例的initialConfig来访问您自定义属性。但并不建议真的这样去做。这样做,您的业务,或您的其它组件就已经被EXT当前版本强侵入。并不是一件好事情。 |
|
返回顶楼 | |
发表时间:2008-05-24
dboylx 写道 1,grid.getStore(). reload([Object options])
2,aaaobj.on('blur',test1) a,test1放在全局作用域下,可以访问。但如果是一个独有方法的话,写个“匿名”方法也可以。 b,test1方法的第一个参数会传处发对象的当前实例。可以用它进行引用。 c,您也可以参考on( String eventName, Function fn, [Object scope], [Object options] ) 方法,还指定运行时的作用域,来达到test1方法具体运行时的作用域。 3,我理解您这儿应该是自定义属性而非自定义组件吧,这样的话通过公开API是访问不到的。但您如果非要访问的话,可以通过引用对象实例的initialConfig来访问您自定义属性。但并不建议真的这样去做。这样做,您的业务,或您的其它组件就已经被EXT当前版本强侵入。并不是一件好事情。 测试过老兄说的方法,还是存在一定的问题,第一个,我不清楚我这里为什么grid就是不刷新。致于第二和第三个问题,我贴一段代码举例说一下: <%@ page contentType="text/html;charset=GBK" %> <%@ page language="java"%> <%@ include file="../../includes/public.jsp" %> <% String functioncode="FUNCTIONUNITS"; %> <HTML> <HEAD> <TITLE><%=Consts.titletxt%></TITLE> <base target="_self"> <meta http-equiv="Content-Type" content="text/html; charset=GBK"> <%out.print(util.GetJscss());%> <script language="javascript"> Ext.onReady(function(){ <%=ui.GetDllFormDs(functioncode)%> <%=ui.GetInsertForm2Column(functioncode,"Create New FunctionUnit")%> <%=ui.GetDllFormOpt(functioncode)%> function kkk(){ alert(functionnameobj.hcolumn); } }); function save(){ var s = Ext.getBody(); alert(Ext.get('functionname').initialConfig.height); s.mask('Saveing...',''); } </script> </HEAD> <BODY scroll="no"> <div id='optdiv' class="x-toolbar"></div> <% String[] buttons={"Save","Reset","Close"}; String[] clicks={"save()","resetf()","closeself()"}; out.print(ui.GetButtons(buttons,clicks)); %> </HTML> 在上面的代码中,hcolumn是我对每一个在后台初始化的对象自定义的一个属性,kkk方法是后台有一个 var functionnameobj = new Ext.form.TextField(id:'functionname',);定义的一个blur方法. save方法就是下在buttons数组中save的方法了.现在的问题是: 如果将save()方法移到红色的});内面写,系统报找不到方法,如果放在});外面写,蓝色访问自定义属性的那段代码又出错,kkk方法中访问hcolumn自定义的属性没问题。 有谁能解决这个问题,请多多指教...... |
|
返回顶楼 | |
发表时间:2008-05-26
天呀,grid就是不刷新数据......
使用过 grid.getView().refresh(); 也使用过 grid.getStore().reload() ;还使用过 ds.load(....); 谁能告诉我为什么? |
|
返回顶楼 | |