- 浏览: 210615 次
- 性别:
- 来自: 北京
-
最新评论
-
Relucent:
likaiyihou51 写道The constructor ...
获得Hibernate Criteria实际SQL的方法 -
likaiyihou51:
The constructor CriteriaJoinWal ...
获得Hibernate Criteria实际SQL的方法 -
likaiyihou51:
大侠 我copy了这个代码 又个问题,能给看一下吗
获得Hibernate Criteria实际SQL的方法 -
haisee:
管用,Firefox和Chrom验证通过。
Javascript设置和获取Textarea的光标位置的方法 -
wanghaosvse:
请问楼主,有没有跟数据库同步的动态加载
带选择框的JS树控件2 (为JSTree再次提速)
ExtJs 中,我们使用GirdPanel的时候往往需要给后台传递查询条件。
一般是通过修改Store的baseParams。
var store = GirdPanel.getStore(); store.baseParams = { 查询条件 } store.reload(); //刷新表格
这个方法在ExtJs 2.x 和 ExtJS 3.0.0 中都使用。
但是当使用ExtJS 3.1.0的时候,问题就出现了。
我们会发现无论如何修改baseParams,查询条件依然还是第一次修改baseParams时候的条件。
所以我们无法通过修改baseParams 来满足修改查询条件的目的。
于是我们观察ExtJS 3.1.0源码发现
reload : function(options){ this.load(Ext.applyIf(options||{}, this.lastOptions)); }
这里我们要说一下lastOptions的作用。
lastOptions用于保留最后一次的查询配置信息。
我们再去跟踪其他部分的代码。
这个是load的时候的代码。
我们可以看到首先使用storeOptions 方法保存了最后一次的查询条件。然后在调用execute执行查询。
load : function(options) { options = options || {}; this.storeOptions(options); if(this.sortInfo && this.remoteSort){ var pn = this.paramNames; options.params = options.params || {}; options.params[pn.sort] = this.sortInfo.field; options.params[pn.dir] = this.sortInfo.direction; } try { return this.execute('read', null, options); // <-- null represents rs. No rs for load actions. } catch(e) { this.handleException(e); return false; } },
storeOptions : function(o){ o = Ext.apply({}, o); delete o.callback; delete o.scope; this.lastOptions = o; },
execute : function(action, rs, options, /* private */ batch) { if (!Ext.data.Api.isAction(action)) { throw new Ext.data.Api.Error('execute', action); } options = Ext.applyIf(options||{}, { params: {} }); if(batch !== undefined){ this.addToBatch(batch); } var doRequest = true; if (action === 'read') { Ext.applyIf(options.params, this.baseParams); doRequest = this.fireEvent('beforeload', this, options); } else { if (this.writer.listful === true && this.restful !== true) { rs = (Ext.isArray(rs)) ? rs : [rs]; } else if (Ext.isArray(rs) && rs.length == 1) { rs = rs.shift(); } if ((doRequest = this.fireEvent('beforewrite', this, action, rs, options)) !== false) { this.writer.apply(options.params, this.baseParams, action, rs); } } if (doRequest !== false) { if (this.writer && this.proxy.url && !this.proxy.restful && !Ext.data.Api.hasUniqueUrl(this.proxy, action)) { options.params.xaction = action; } this.proxy.request(Ext.data.Api.actions[action], rs, options.params, this.reader, this.createCallback(action, rs, batch), this, options); } return doRequest; },
我们重点关注
storeOptions 方法中的 o = Ext.apply({}, o);
和
execute 的 Ext.applyIf(options.params, this.baseParams);
他的目的是这样的。
首先
[storeOptions ]
克隆一个新的 Options ,并保存到lastOptions中。
lastOptions使用新的Options的目的是原有Options发生变化lastOptions不变。
[execute ]
然后将baseParams的内容添加到Options.params中,并使用Options.params作为参数进行查询。
逻辑上没有错误
是将baseParams内容添加到原有的Options.params中。
新的lastOptions(Options2)内容不变。(因为是克隆的)
但是实际上Options.params发生变化的而同时。lastOptions中的params也发生了变化。
原因在storeOptions 方法上。
o = Ext.apply({}, o);
做的只是一个浅层拷贝。拷贝之后
lastOptions.params 和 Options.params 其实是一个对象。
所以当Options.params发生变化lastOptions.params也发生变化。
(不知道是Jack Slocum故意这么设计的还是没有考虑周全,不过这造成了版本的不兼容)
原因找到了,修改起来也就容易了。我们只需要重构storeOptions 方法,将其params也拷贝一次就可以了。
Ext.override(Ext.data.Store, { storeOptions : function(o) { o = Ext.apply({}, o); if(o.params) o.params = Ext.apply({}, o.params); } delete o.callback; delete o.scope; this.lastOptions = o; } });
评论
<p>Loads the Record cache from the configured proxy using the configured reader.</p>
<p> </p>
<p><strong>Notes</strong>:</p>
<p style="padding-left: 30px;"> </p>
<ul>
<li>Important: loading is asynchronous! This call will return before the new data has been loaded. To perform any post-processing where information from the load call is required, specify the callback function to be called, or use a a 'load' event handler.</li>
<li>If using remote paging, the first load call must specify the start and limit properties in the options.params property to establish the initial position within the dataset, and the number of Records to cache on each read from the Proxy.</li>
<li>If using remote sorting, the configured sortInfo will be automatically included with the posted parameters according to the specified paramNames.</li>
</ul>
<p> </p>
<p><strong>Parameters</strong>:</p>
<p> </p>
<p><strong>options</strong> : Object</p>
<p style="padding-left: 30px;">An object containing properties which control loading options:</p>
<p> </p>
<p style="padding-left: 30px;">params :Object</p>
<p style="padding-left: 60px;">An object containing properties to pass as HTTP parameters to a remote data source. Note: params will override any baseParams of the same name.</p>
<p style="padding-left: 60px;">Parameters are encoded as standard HTTP parameters using Ext.urlEncode.</p>
<p style="padding-left: 30px;"> </p>
<p style="padding-left: 30px;">callback : Function</p>
<p style="padding-left: 60px;">A function to be called after the Records have been loaded. The callback is called after the load event is fired, and is passed the following arguments:</p>
<p style="padding-left: 90px;">r : Ext.data.Record[] An Array of Records loaded.</p>
<p style="padding-left: 90px;">options : Options object from the load call.</p>
<p style="padding-left: 90px;">success : Boolean success indicator.</p>
<p style="padding-left: 30px;"> </p>
<p style="padding-left: 30px;">scope : Object</p>
<p style="padding-left: 60px;">Scope with which to call the callback (defaults to the Store object)</p>
<p style="padding-left: 30px;"> </p>
<p style="padding-left: 30px;">add : Boolean</p>
<p style="padding-left: 60px;">Indicator to append loaded records rather than replace the current cache. Note: see note for loadData</p>
<p> </p>
发表评论
-
【转】Closure Compiler 高级模式及更多思考(js文件压缩工具 )
2011-03-16 13:05 2040【转】Closure Compiler 高级模式及更多思考 ... -
Base64编码解码(JavaScript版本)
2010-12-17 10:24 2905<html> <HTML> < ... -
JavaScript 中2个等号与3个等号的区别
2010-12-07 13:21 25436首先,== equality 等同,=== identity ... -
JS前端获取上传文件的大小的方法
2010-11-01 11:04 23554WEB应用中,经常会遇到上传附件的问题,比如有时候会有限制附件 ... -
Javascript设置和获取Textarea的光标位置的方法
2010-07-20 11:05 6650<html><head> <m ... -
JavaScript JSON 对象深拷贝方法(一例)
2010-07-14 20:08 6527其实深拷贝一个JS对象方法十分简单,只需要两部 1.首先将J ... -
关于Extjs异步session超时问题处理
2010-07-08 17:46 4062关于Extjs异步session超时问题处理对于HTTP超时的 ... -
ExtJS 的组建扩展方法
2010-07-08 17:19 2282ExtJS 是一个不错的JS 类库,提供了很多组建。 ... -
JS 地图移动拖拽
2010-05-26 09:06 2829很简单的东东,就是类似google地图那样,可以拖拽图片。 ... -
JS移动的方块
2010-05-21 09:00 1426PS:WASD上下左右,双击加速. 同时按下WASD任意2个按 ... -
JS对象序列化为JSON对象
2010-04-17 10:07 10760/** * JSON 解析类 * Copyright ... -
JavaScript日期格式化
2010-03-17 11:17 1596DateFormat = (function(){ ... -
Ext智能提示 - Spket(Eclipse插件)
2009-10-23 13:01 2026Spket是Eclipse的一个插件,RIA的开发工具。支持J ... -
带选择框的JS树控件2 (为JSTree再次提速)
2009-10-14 12:00 9612以前写过一个带选择框的JS树控件 但是当时发现一个问题,第一次 ... -
带选择框的JS树控件
2009-10-12 11:09 2134前阵子自己写了个带选择框的tree控件,虽然还有一些bug没有 ... -
多附件上传
2008-10-29 23:48 1532uploads.js var UploadBuilder=(f ... -
HTML通过button触发input-file控件上传文件的问题
2008-10-20 10:32 25681出于安全方面的考虑,通过JS修改input-file的valu ... -
模拟线程Timer(JS)
2008-09-22 09:06 1919<script language="Java ... -
转换Unicode (JS)
2008-09-02 17:34 2663<html> <head> ... -
JS-Cookie
2008-08-05 11:33 1378/** * cookie管理对象 */ Cook ...
相关推荐
海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
e2studio开发RA2E1(12)----打印函数(printf、 sprintf)的实现 CSDN文字教程:https://coremaker.blog.csdn.net/article/details/145537504 B站教学视频:https://www.bilibili.com/video/BV1zZNmeTE1u/ printf 和 sprintf 是 C 语言中常用的输出函数,广泛应用于各种嵌入式、桌面应用程序和调试过程中。这些函数可以将格式化的数据输出到标准输出(如控制台)或存储到字符串中。在系统开发中,了解它们的底层实现不仅能够帮助优化性能,还能提高代码的可移植性和灵活性。 首先需要准备一个开发板,这里我准备的是自己绘制的开发板,需要的可以进行申请。 主控为R7FA2E1A72DFL#AA0
2025异次元发卡网个人发卡网源码支持在线升级.zip 内有详细的安装教程
生产环境快速检索nacos注册中心服务和模拟检索配置,自行修改地址和用户名、密码,支持多个namespace配置。
插件uniapp-wxml-to-canvas 中的文件夹 wxcomponents
2023-04-08 项目笔记-第一阶段-第2节-分支和循环语句-3.3.2执行流程 3.3.3do语句的特点 3.3.4do while循环中的break和continue 3.4练习 3.4.1练习参考代码:3.4.2折半查找算法 3.4.3猜数字游戏实现 4.goto语句 5.本章完-202-03-05
基于Matlab2020b的电机控制算法:无传感FOC算法Simulink仿真模型及实践指导,基于Matlab2020b的电机控制算法:无传感FOC控制策略与Simulink仿真模型指导实践调试,定位+电流闭环强拖+ 角度渐变切+ 速度电流双闭环+ 无传感器角度估算SMO+ PLL 控制方式 Simulink 仿真模型 (Matlab2020b版本)以及教授模型搭建 这是一种常用的无传感FOC电机控制算法,掌握这种算法的基本原理,并有仿真模型在手,就可以用它来指导实践中的程序调试,做到实际项目不盲目调试。 模型特点: 1. 所有模块都做到了模块化,各个模块分区清楚,结构清晰。 2. 所有电机和控制参数均在m文件中体现,变量注释清楚,随用随改。 3. 速度环和电流环PI参数均实现自动整定。 4. 模型采用标幺值系统。 5. 各状态切使用stateflow,模型结构清晰。 6.通用表贴和内嵌式电机。 ,核心关键词: 定位; 电流闭环强拖; 角度渐变切换; 速度电流双闭环; 无传感器角度估算SMO; PLL控制方式; Simulink仿真模型; Matlab2020b版本; 模型搭建;
Text-to-SQL(Text-to-SQL)任务是将自然语言问题转换为SQL查询,这对于非专业人员与数据库的交互至关重要。尽管最近大型语言模型(LLMs)的发展显著提升了Text-to-SQL的性能,现有方法在实际应用中仍面临明显局限性。基于提示的方法通常依赖于封闭源代码的LLMs,这不仅昂贵,还引发隐私问题且缺乏定制化。另一方面,微调方法由于公开可用训练数据的覆盖范围有限,在处理复杂问题或特定领域数据库时表现不佳。为克服这些挑战,我们提出了一种新颖且可扩展的Text-to-SQL数据合成框架,用于自动生成大规模、高质量和多样化的数据集,无需大量人工干预。利用该框架,我们引入了 SYNSQL-2.5M ,这是第一个百万规模的Text-to-SQL数据集,包含250万个样本,涵盖了超过16,000个合成数据库。每个样本包括一个数据库、SQL查询、自然语言问题和链式思考(CoT)解决方案。通过使用 SYNSQL-2.5M ,我们开发了 OMNISQL ,这是一个强大的开源Text-to-SQL模型,提供三种参数规模:7B、14B和32B。广泛的评估表明, OMNISQL
基于Python的Flask-vue医院预约挂号系统设计与实现源码-演示视频 项目关键技术 开发工具:Pycharm 编程语言: python 数据库: MySQL5.7+ 后端技术:Flask 前端技术:HTML 关键技术:HTML、MYSQL、Python 数据库工具:Navicat、SQLyog
海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
基于Python的Django-vue个性化餐饮场所推荐系统源码-演示视频 项目关键技术 开发工具:Pycharm 编程语言: python 数据库: MySQL5.7+ 后端技术:Django 前端技术:HTML 关键技术:HTML、MYSQL、Python 数据库工具:Navicat、SQLyog
ImageJ分析SEM图像
基于叶尖速比法的PMSG永磁同步发电机并网仿真模型研究:动态响应与谐波特性分析,基于叶尖速比法的PMSG永磁同步发电机并网仿真模型动态特性分析,PMSG永磁同步发电机并网仿真模型 (1)主要包括发电机、整流器、逆变器(双pwm控制)、电网、控制、显示等部分; (2)风机最大功率跟踪mppt采用最佳叶尖速比法; (3)机侧控制(发电控制):采用转速、电流双闭环控制,均采用PI,磁链解耦;调制策略采用SVPWM; (4)网侧控制(并网控制):采用电压、电流双闭环控制,均采用PI;基于电压前馈解耦(有功、无功解耦);调制策略采用SVPWM; (5)动态响应特性好,当转矩突变时,发电机输出转速稳定,直流母线电压稳定; (6)并网电压和电流同相位,功率因数接近1; (7)并网电流谐波畸变小,THD=3.01%; 附带说明以及参考文献 ,PMSG永磁同步发电机; 整流器; 逆变器; 双PWM控制; 电网并网; 控制; 显示; 最佳叶尖速比法; 转速电流双闭环控制; PI控制; SVPWM调制策略; 动态响应特性; 直流母线电压稳定; 功率因数接近1; 并网电流谐波畸变小。,PMSG永磁同步发电机高
基于Matlab Simulink的电机FOC观测器模型:龙贝格观测器结合PLL无传感器控制及PMSM模型精准估算转子位置信息,Matlab Simulink下电机FOC观测器模型:结合龙贝格观测器与PLL的无传感器控制策略,高精度估算转子位置与反电势,matlab simulink电机foc观测器模型,采用龙贝格观测器+PLL进行无传感器控制,其利用 PMSM 数学模型构造观测器模型,根据输出的偏差反馈信号来修正状态变量。 当观测的电流实现与实际电流跟随时,利用估算的反电势进行pll计算转子位置信息。 龙伯格观测器采用线性控制策略代替了 SMO 的变结构控制,有效避免了系统抖振,动态响快、估算精度高的优点。 ,MATLAB; Simulink电机; FOC观测器模型; 龙贝格观测器; PLL无传感器控制; PMSM数学模型; 输出偏差反馈; 状态变量修正; 估算反电势; PLL转子位置; 线性控制策略; SMO变结构控制; 系统抖振; 动态响应; 估算精度。,MATLAB Simulink电机FOC观测器模型:龙贝格观测器+PLL无传感器控制技术
本研究探讨了大型语言模型如何通过提示工程对科学论文中的句子进行分类。我们使用两种先进的基于网络的模型,OpenAI 的 GPT-4o 和 DeepSeek R1,将句子分类为预定义的关系类别。DeepSeek R1 已在其技术报告中测试过基准数据集。然而,其在科学文本分类中的性能尚未得到充分探索。为解决这一问题,我们引入了一种专门为该任务设计的新评估方法,并整理了一个来自多个领域的清洁科学论文数据集。该数据集提供了一个比较这两个模型的平台。通过使用此数据集,我们分析了它们在分类中的有效性和一致性。
海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
西门子S7-200 Smart与施耐德ATV变频器Modbus通讯实现:稳定控制变频器,自动准备启动,昆仑通态辅助,接线与设置详解,西门子S7-200smart与施耐德ATV变频器Modbus通讯:实现稳定控制,昆仑通态配套应用,变频器自动化控制解决方案,西门子200smart与施耐德ATV变频器modbus通讯 西门子s7-200smart与施耐德ATV12变频器通讯,可靠稳定,同时解决施耐德ATV变频器断电重启后,自准备工作,无需人为准备。 器件:西门子s7-200smart PLC,昆仑通态带以太网通讯的触摸屏,1台施耐德ATV12系列变频器,附送接线说明和设置说明,昆仑通态MCGS程序 功能:实现变频器的频率设定,启停控制,状态,实际频率读取等, ,核心关键词:西门子200smart; 施耐德ATV变频器; Modbus通讯; 可靠稳定; 昆仑通态触摸屏; 启停控制; 频率设定; 状态读取; 实际频率; 接送说明; MCGS程序,西门子S7-200Smart与施耐德ATV变频器Modbus通讯解决方案
海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
【单片机通信技术】STM32 HAL库 SPI主从机通过串口发送数据