最近在用jqgrid,但是需要对Header进行多级分组,结果出现下面现象:
标红的地方可以看到,描绘完全错了,调试发现时jqgrid 居然把header group 中增长的行数写死为 2,
当header高度大于两行时就可能出现问题,为了不修改jqgrid源文件,我把jqgrid问题函数copy重新修改了一下,
然后动态替换掉jqgrid原有的方法,就OK了~
修改方法如下:
(function(){
$.fn.jqGrid.setGroupHeaders = function ( o ) {
o = $.extend({
useColSpanStyle : false,
depth : 2,
groupHeaders: []
},o || {});
return this.each(function(){
this.p.groupHeader = o;
var ts = this,
i, cmi, skip = 0, $tr, $colHeader, th, $th, thStyle,
iCol,
cghi,
//startColumnName,
numberOfColumns,
titleText,
cVisibleColumns,
colModel = ts.p.colModel,
cml = colModel.length,
ths = ts.grid.headers,
$htable = $("table.ui-jqgrid-htable", ts.grid.hDiv),
$trLabels = $htable.children("thead").children("tr.ui-jqgrid-labels:last").addClass("jqg-second-row-header"),
$thead = $htable.children("thead"),
$theadInTable,
$firstHeaderRow = $htable.find(".jqg-first-row-header");
if($firstHeaderRow[0] === undefined) {
$firstHeaderRow = $('', {role: "row", "aria-hidden": "true"}).addClass("jqg-first-row-header").css("height", "auto");
} else {
$firstHeaderRow.empty();
}
var $firstRow,
inColumnHeader = function (text, columnHeaders) {
var length = columnHeaders.length, i;
for (i = 0; i < length; i++) {
if (columnHeaders[i].startColumnName === text) {
return i;
}
}
return -1;
};
$(ts).prepend($thead);
$tr = $(' ', {role: "rowheader"}).addClass("ui-jqgrid-labels jqg-third-row-header");
for (i = 0; i < cml; i++) {
th = ths[i].el;
$th = $(th);
cmi = colModel[i];
// build the next cell for the first header row
thStyle = { height: '0px', width: ths[i].width + 'px', display: (cmi.hidden ? 'none' : '')};
$("", {role: 'gridcell'}).css(thStyle).addClass("ui-first-th-"+ts.p.direction).appendTo($firstHeaderRow);
th.style.width = ""; // remove unneeded style
iCol = inColumnHeader(cmi.name, o.groupHeaders);
if (iCol >= 0) {
cghi = o.groupHeaders[iCol];
numberOfColumns = cghi.numberOfColumns;
titleText = cghi.titleText;
// caclulate the number of visible columns from the next numberOfColumns columns
for (cVisibleColumns = 0, iCol = 0; iCol < numberOfColumns && (i + iCol < cml); iCol++) {
if (!colModel[i + iCol].hidden) {
cVisibleColumns++;
}
}
// The next numberOfColumns headers will be moved in the next row
// in the current row will be placed the new column header with the titleText.
// The text will be over the cVisibleColumns columns
$colHeader = $(' ').attr({role: "columnheader"})
.addClass("ui-state-default ui-th-column-header ui-th-"+ts.p.direction)
.css({'height':'22px', 'border-top': '0 none'})
.html(titleText);
if(cVisibleColumns > 0) {
$colHeader.attr("colspan", String(cVisibleColumns));
}
if (ts.p.headertitles) {
$colHeader.attr("title", $colHeader.text());
}
// hide if not a visible cols
if( cVisibleColumns === 0) {
$colHeader.hide();
}
$th.before($colHeader); // insert new column header before the current
$tr.append(th); // move the current header in the next row
// set the coumter of headers which will be moved in the next row
skip = numberOfColumns - 1;
} else {
if (skip === 0) {
if (o.useColSpanStyle) {
// expand the header height to two rows
$th.attr("rowspan", o.depth + "");
} else {
$(' ', {role: "columnheader"})
.addClass("ui-state-default ui-th-column-header ui-th-"+ts.p.direction)
.css({"display": cmi.hidden ? 'none' : '', 'border-top': '0 none'})
.insertBefore($th);
$tr.append(th);
}
} else {
// move the header to the next row
//$th.css({"padding-top": "2px", height: "19px"});
$tr.append(th);
skip--;
}
}
}
$theadInTable = $(ts).children("thead");
$theadInTable.prepend($firstHeaderRow);
$tr.insertAfter($trLabels);
$htable.append($theadInTable);
if (o.useColSpanStyle) {
// Increase the height of resizing span of visible headers
$htable.find("span.ui-jqgrid-resize").each(function () {
var $parent = $(this).parent();
if ($parent.is(":visible")) {
this.style.cssText = 'height: ' + $parent.height() + 'px !important; cursor: col-resize;';
}
});
// Set position of the sortable div (the main lable)
// with the column header text to the middle of the cell.
// One should not do this for hidden headers.
$htable.find("div.ui-jqgrid-sortable").each(function () {
var $ts = $(this), $parent = $ts.parent();
if ($parent.is(":visible") && $parent.is(":has(span.ui-jqgrid-resize)")) {
$ts.css('top', ($parent.height() - $ts.outerHeight()) / 2 + 'px');
}
});
}
$firstRow = $theadInTable.find("tr.jqg-first-row-header");
$(ts).bind('jqGridResizeStop.setGroupHeaders', function (e, nw, idx) {
$firstRow.find('th').eq(idx).width(nw);
});
});
}
})();
这样,在使用时传入一个depth 就可以了,默认是2,和jqgrid写死的相同。
用法如下:
grid.jqGrid('setGroupHeaders', {
depth : 3,
useColSpanStyle : true,
groupHeaders : headers
});
你可能感兴趣的:(JQGrid 多级 Header Group 问题)
std::find, find_if, find_if_not,find_end,find_first_of,adjacent_find
大树青云
C++20 C++ adjacent_find find_if_not find_end find_first_of
DefinedinheadertemplateInputItfind_first_of(InputItfirst,InputItlast,ForwardIts_first,ForwardIts_last);(1)(constexprsinceC++20)templateForwardIt1find_first_of(ExecutionPolicy&&policy,ForwardIt1first,F
LeetCode 第30题:串联所有单词的子串
Gemini技术窝
leetcode 算法 数据结构 java
大家好!今天我们要探讨的是一道非常有趣的字符串处理题目——LeetCode第30题:串联所有单词的子串。这个问题就像是在寻找字符串中的藏宝图,每个单词都是一个线索,我们需要把这些线索串联起来,找到它们在字符串中的位置。准备好了吗?让我们一起解锁这个问题的解决方案吧!文章目录问题描述解题思路高效代码实现详细讲解代码逻辑图解过程举例说明例子1:简单例子例子2:无匹配项例子3:重复单总结问题描述首先,让
stm32 栈 HardFault_Handler 硬件中断 解决问题
月骑荞面山
stm32 嵌入式硬件 单片机
stm32进入硬件中断分析stm32的栈空间,是用于在发生中断时,保存CPU的一些寄存器(不是全部CPU寄存器)和保存函数的局部变量、等(注意这个等,说明是不仅仅包含这些)的空间,这就是入栈。中断函数运行完,CPU将使用栈空间的内容,恢复自己所有的寄存器,以及局部变量,这就是出栈。栈空间大小,由自己设置,如下图,不会的话,就去看其他文章栈空间大小设置好后,编译后,栈将会分配被分配真实的内存地址,怎
什么是联盟营销?2025新手怎么入局联盟营销?
跨境知识搬运工
facebook 大数据
联盟营销为商家和营销人员提供了一个低成本、高效益的合作平台,同时也让消费者能够享受更多的优惠和产品推荐。那么,什么是联盟营销?如何入局联盟营销,尤其是对于新手来说,又该如何开始这项业务?本文将详细介绍这些问题,并帮助你了解如何顺利入局联盟营销。一、什么是联盟营销?联盟营销是一种基于成果的合作营销模式。在这种模式下,商家与联盟营销者(即“推广者”或“发布者”)合作,推广其产品或服务。联盟营销者通过推
Maven中dependency标签参数
lgily-1225
日常积累 maven java 后端
Maven中dependency标签参数如下:一、type有时候我们引入某一个依赖时,必须指定type,这是因为用于匹配dependency引用和dependencyManagement部分的最小信息集实际上是{groupId,artifactId,type,classifier}。在很多情况下,这些依赖关系将引用没有classifier的jar依赖。这允许我们将标识设置为{groupId,art
什么是联盟营销?2025新手怎么入局联盟营销?
纯干苹果派
人工智能 大数据
联盟营销为商家和营销人员提供了一个低成本、高效益的合作平台,同时也让消费者能够享受更多的优惠和产品推荐。那么,什么是联盟营销?如何入局联盟营销,尤其是对于新手来说,又该如何开始这项业务?本文将详细介绍这些问题,并帮助你了解如何顺利入局联盟营销。一、什么是联盟营销?联盟营销是一种基于成果的合作营销模式。在这种模式下,商家与联盟营销者(即“推广者”或“发布者”)合作,推广其产品或服务。联盟营销者通过推
数学建模清风课程笔记——第二章 TOPSIS法
minpengyuanBITer
数学建模 数学建模 笔记
TOPSIS(TechniqueforOrderPreferencebySimilaritytoIdealSolution)可翻译为逼近理想解排序法,国内简称为优劣解距离法。TOPSIS法是一种常用的综合评价方法,其能充分利用原始数据的信息,其结果能够精确地反映各评价方案之间的差距。评价类问题1TOPSIS法TOPSIS法概念:TOPSIS法是一种常用的综合评价方法,能充分利用原始数据的信息,其结
固态电池行业深度研究报告:技术变革与市场展望
萧十一郎@
知识科普 大数据 人工智能
目录一、引言1.1研究背景与目的1.2研究方法与数据来源二、固态电池概述2.1定义与分类2.1.1定义2.1.2分类2.2工作原理2.3发展历程三、固态电池技术优势与挑战3.1技术优势3.1.1高安全性3.1.2高能量密度3.1.3长循环寿命3.2技术挑战3.2.1离子电导率低3.2.2固-固界面问题3.2.3锂枝晶生长3.2.4成本高昂四、固态电池材料体系与技术路线4.1固态电解质材料4.1.1
编译时报错“LNK2019 无法解析的外部符号”的可能原因及其解决办法
烟锁池塘柳0
程序设计与编程语言 c++
在VS2022中运行C++程序的时候,有时候会遇到这样的问题:1>(源文件名称).obj:errorLNK2019:无法解析的外部符号"public:__cdecl(函数名(参数列表))"(??0(函数名与乱码)@@QEAA@XZ),函数main中引用了该符号1>项目路径\x64\Debug\可执行程序名.exe:fatalerrorLNK1120:1个无法解析的外部命令遇到这种问题,可以说是很难
【数学建模】层次分析法(AHP)详解及其应用
烟锁池塘柳0
数学建模 数学建模
层次分析法(AHP)详解及其应用引言在现实生活和工作中,我们经常面临复杂的决策问题,这些问题通常涉及多个评价准则,且各准则之间可能存在相互影响。如何在这些复杂因素中做出合理的决策?层次分析法(AnalyticHierarchyProcess,AHP)作为一种系统、灵活的多准则决策方法,为我们提供了科学的决策工具。文章目录层次分析法(AHP)详解及其应用引言什么是层次分析法?层次分析法的基本原理层次
Java泛型
lgily-1225
日常积累 java 开发语言 后端
Java泛型是Java5引入的一项重要特性,旨在增强类型安全、减少代码冗余,并支持更灵活的代码设计。以下是对泛型的详细介绍及使用指南:一、泛型核心概念泛型允许在类、接口、方法中使用类型参数(如),使得代码可以处理多种数据类型,而无需重复编写逻辑。解决的问题类型安全:避免运行时ClassCastException。消除强制类型转换:编译器自动处理类型转换。代码复用:同一逻辑可处理不同类型的数据。二、
前端面经分享(25/03/19)
CreatorRay
前端 面试 前端 面试
北京一家做协同办公软件出海的公司,技术一面,20k-40k,要求3-5年详细聊了一下上家公司的项目上家公司的项目是不做了吗,离职原因是什么,你觉得公司的这个产品怎么样在做AI类的业务时,作为前端感觉跟常规业务有什么区别详细聊了一下上上家公司的项目细节讲一下项目里用编辑器做了什么事遇到过什么难解决的问题项目里提供的UI自动化的功能是怎么做的聊了一下写博客的事情有没有了解过浏览器底层的东西最近在研究或
MyBatis-Plus中使用@Transactional注解的5大陷阱,你中招了吗?
墨瑾轩
Java乐园 mybatis
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣MyBatis-Plus中使用@Transactional注解的5大陷阱,你中招了吗?在使用MyBatis-Plus进行持久层开发时,事务控制是确保数据一致性的重要手段。然而,在实践中,不当的使用@Transactional注解可能导致各种意想不到的问题。本文
Python的那些事第四十六篇:基于属性的测试库hypothesis研究
暮雨哀尘
Python的那些事 python 开发语言 属性测试库 hypothesis 执行流程 构建
一、引言(一)研究背景随着软件系统复杂性的不断增加,软件测试在确保软件质量方面的重要性愈发凸显。传统测试方法在面对大规模、复杂软件系统时,往往存在测试用例设计不全面、测试执行效率低下等问题。基于属性的测试作为一种新兴的测试方法,通过定义软件系统的属性来指导测试用例的设计与执行,为解决上述问题提供了新的思路。(二)研究意义本研究旨在深入探讨基于属性的测试库的构建与应用,以提高软件测试的效率和质量,降
DataEase二开记录--踩坑和详细步骤(一)
风_间
DataEase 数据库 mysql java
最近在看DataEase,发现挺好用的,推荐使用。用的过程中萌生了二开的想法,于是自己玩了玩,并做了一些记录。开发环境问题下载源码,选稳定版本的,本案例是1.17.0版本。下载地址开源社区-FIT2CLOUD飞致云数据库配置数据库初始化:DataEase使用MySQL数据库,推荐使用MySQL5.7版本。同时DataEase对数据库部分配置项有要求,请参考下附的数据库配置,修改开发环境中的数据库配
零基础掌握分布式ID生成:从理论到实战的完整指南 [特殊字符]
添砖Java中
分布式 分布式id java
一、为什么需要分布式ID?在单机系统中,使用数据库自增ID就能满足需求。但在分布式系统中,多个服务节点同时生成ID时会出现以下问题:ID冲突:不同节点生成相同ID扩展困难:数据库自增ID无法水平扩展安全性差:连续ID暴露业务数据量性能瓶颈:高并发场景下生成速度慢典型应用场景:✅电商订单号生成✅社交平台用户ID✅物流运单号生成✅金融交易流水号二、分布式ID的核心要求特性说明重要性全局唯一性整个分布式
cocos2dx : 解决中文乱码问题
^随风~~
Cocos2d-x C++ 乱码
在使用cocos2dx的时候,代码里面使用了中文或者是在cocosstudio编辑器里面使用了中文,显示的时候会出现乱码问题,下面提供几个解决方案:方案一:最前面加上命令:#pragmaexecution_character_set("utf-8")方案二:使用XML文件:问题与解决方法在windows环境下使用visualstudio开发cocos2d-x,由于visualstudio默认编码为
项目经理的“汇报力”修炼:如何快速打造让领导、客户眼前一亮的方案?
在项目管理领域,流传着一句话:“干得好不如说得好,说得好不如呈现得好。”项目经理作为“资源整合者”和“信息枢纽”,70%以上的工作本质是沟通与汇报——向上争取资源,向下传递目标,向外管理客户预期。能否快速产出逻辑清晰、价值聚焦的汇报方案,直接决定了项目的推进效率与个人职业发展天花板。一、项目经理的工作本质:用汇报“撬动”资源项目经理的日常不是埋头写代码或画图纸,而是通过系统性表达解决三类核心问题:
软件研发项目管理软件有哪些?8Manage PM等5款产品深度对比
Sadie_d
软件研发
软件研发项目的复杂性往往让团队面临诸多挑战:需求变更频繁、进度难以把控、资源分配不均、团队协作效率低下……这些问题如果得不到有效管理,不仅会拖延项目周期,还可能导致成本超支甚至项目失败。为了应对这些挑战,软件研发项目管理系统应运而生。它通过集成化的工具和科学的方法论,帮助研发团队提升效率、优化流程、确保项目按时交付。本文将探讨项目管理系统对软件研发团队的具体好处,并介绍5款主流产品助您找到适合的解
在嵌入式系统中实现低功耗MQTT协议:从协议解析到硬件优化
W说编程
物联网 嵌入式 网络编程 物联网 网络协议 c语言 嵌入式硬件
在嵌入式系统中实现低功耗MQTT协议:从协议解析到硬件优化1.引言:物联网时代的低功耗挑战随着物联网设备的爆炸式增长,设备续航与网络可靠性成为嵌入式系统设计的核心矛盾。据统计,70%的物联网设备因功耗问题导致维护成本倍增。核心需求:在维持TCP/IP协议栈功能的前提下,将设备待机功耗降至μA级;确保弱网环境(如2G/NB-IoT)下的数据传输可靠性。本文将以MQTT协议为例,详解在STM32+LW
【科大讯飞笔试题汇总】2024-04-21-科大讯飞春招笔试题-三语言题解(CPP/Python/Java)
春秋招笔试突围
最新互联网春秋招试题合集 python java 开发语言 春招笔试 互联网大厂笔试题
大家好这里是KK爱Coding,一枚热爱算法的程序员✨本系列打算持续跟新科大讯飞近期的春秋招笔试题汇总~ACM银牌|多次AK大厂笔试|编程一对一辅导感谢大家的订阅➕和喜欢KK这边最近正在收集近一年互联网各厂的笔试题汇总,如果有需要的小伙伴可以关注后私信一下KK领取,会在飞书进行同步的跟新,5月1日之前限时免费领取哦,后续会由ACM银牌团队持续维护~。文章目录01.硬币最少组合问题问题描述输入格式输
uniapp集成保利威直播SDK,ios为什么不能后台挂起uniapp插件?
背景问题:用uniapp开发小程序和APP,集成保利威直播SDK的时候,ios端不能后台挂起uniapp插件,怎么处理?解决办法:ios端使用后台音频播放和画中画功能,没有在manifest.json进行权限配置,在manifest.json进行权限配置即可。
当我被面试官追问如何优化慢SQL时,我悟了这些底层逻辑
mysql数据库程序员后端
当我被面试官追问如何优化慢SQL时,我悟了这些底层逻辑去年面试字节跳动时,我遇到了一个至今印象深刻的场景:面试官在白板上写了一条包含三表JOIN且带有子查询的SQL,淡淡地说"请分析这条SQL的性能问题"。当时我的后背瞬间绷直——这道题考察的不仅是SQL优化技巧,更是对数据库底层原理的深刻理解。一、面试官到底在考察什么?实战经验:是否真正处理过线上慢查询问题,能否结合业务场景分析知识体系:从索引设
【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit(6)
harmonyos-sdk
1.问题描述:使用华为内置的MapComponent,发现显示不出来。查看日志,MapRender底层有报错。解决方案:麻烦按以下步骤检查下地图服务,特别是签名证书指纹那部分。1.一般没有展示地图,可能和没有配置SHA256指纹证书配置,网络,定位权限,没有打开地图服务等有关系,如果刚配置完权限等,需要24h生效,(可以将手机系统时间往后设置24h)。2.module.json5文件中metada
【Gitee】error: failed to push some refs to “xxx“ git did not exit cleanly (exit code 1)解决方法
Ctrl Z.
gitee git
目录1.本地仓库与远程仓库存在冲突2.权限问题3.网络问题4.远程仓库不存在或地址错误另:有关查看分支的介绍在push时操作失败且返回退出码1通常意味着在推送代码到远程仓库时遇到了问题。以下是几种可能的原因以及对应的解决办法:1.本地仓库与远程仓库存在冲突当远程仓库的代码有更新,而本地仓库没有同步这些更新时,就会产生冲突。需要先拉取远程仓库的最新代码,合并到本地分支后再尝试推送。gitpullor
Pycharm python解释器 unsupported python 3.1 解决
大表哥在曾母暗沙
Python PyCharm python pycharm ide 解释器模式
Pycharm环境unsupportedpython3.1解决1.问题重现2.原因分析3.解决方法1.问题重现之前使用Pycharm2024.1.1的时候,环境配置的Python3.11.9,现在改成使用Pycharm2020.2.2,结果Python解释器显示“unsupportedpython3.1”,如下图:2.原因分析因为Pycharm2020.2.2支持的Python最高版本就是Pyth
【MYSQL学习】5分钟学会MySQL登录,新手也能轻松搞定?
墨瑾轩
MySql入门~精通 mysql 学习 adb
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣5分钟学会MySQL登录,新手也能轻松搞定?引言嘿,小伙伴们!今天我们来聊聊MySQL的登录问题。对于初学者来说,登录数据库可能是你接触MySQL的第一步,也是最重要的一步。那么,MySQL是如何登录的呢?有哪些常见的问题需要注意?别急,今天我就带你一步步了解
如果企业数据仓库全部使用 Couchbase Analytics 服务,可能会面临哪些问题?
PersistDZ
数据存储 数据仓库
如果企业数据仓库全部使用CouchbaseAnalytics服务,可能会面临哪些问题?一、概述CouchbaseAnalytics服务是一项强大的工具,旨在为NoSQL数据提供近实时的分析能力。然而,如果企业的数据仓库全部依赖于CouchbaseAnalytics服务,可能会遇到一些问题和挑战。以下将从多个角度详细分析这些可能的问题。二、可能的问题和挑战资源消耗和成本高资源需求:Couchbase
记:应聘北京思特奇信息技术股份有限公司 C++工程师
指针的值是地址
大四求职 c++ 敏捷开发
一轮,软件上的笔试题这里记录几个问题。1.构成C语言的基本单位是函数。2.敏捷开发:相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发过程中人的作用。(来自百度百科)一个通俗的博客另一个。我个人的理解就是以人为中心,尽量以口头交流为主,以尽
dig 命令深入学习
服务器linuxdns解析
一、dig命令有什么用dig命令(DomainInformationGroper)是一个用于查询DNS(域名系统)记录的强大工具,它提供了详细的DNS信息,主要用于帮助用户诊断、调试和验证与域名解析相关的问题。除了dig命令,还有一种跟dig功能是差不多的命令nslookup二、dig命令安装如果您的Linux系统默认没有安装dig,可能会提示dig:commandnotfound。请使用以下命令
mysql主从数据同步
林鹤霄
mysql主从数据同步
配置mysql5.5主从服务器(转)
教程开始:一、安装MySQL
说明:在两台MySQL服务器192.168.21.169和192.168.21.168上分别进行如下操作,安装MySQL 5.5.22
二、配置MySQL主服务器(192.168.21.169)mysql -uroot -p &nb
oracle学习笔记
caoyong
oracle
1、ORACLE的安装
a>、ORACLE的版本
8i,9i : i是internet
10g,11g : grid (网格)
12c : cloud (云计算)
b>、10g不支持win7
&
数据库,SQL零基础入门
天子之骄
sql 数据库入门 基本术语
数据库,SQL零基础入门
做网站肯定离不开数据库,本人之前没怎么具体接触SQL,这几天起早贪黑得各种入门,恶补脑洞。一些具体的知识点,可以让小白不再迷茫的术语,拿来与大家分享。
数据库,永久数据的一个或多个大型结构化集合,通常与更新和查询数据的软件相关
pom.xml
一炮送你回车库
pom.xml
1、一级元素dependencies是可以被子项目继承的
2、一级元素dependencyManagement是定义该项目群里jar包版本号的,通常和一级元素properties一起使用,既然有继承,也肯定有一级元素modules来定义子元素
3、父项目里的一级元素<modules>
<module>lcas-admin-war</module>
<
sql查地区省市县
3213213333332132
sql mysql
-- db_yhm_city
SELECT * FROM db_yhm_city WHERE class_parent_id = 1 -- 海南 class_id = 9 港、奥、台 class_id = 33、34、35
SELECT * FROM db_yhm_city WHERE class_parent_id =169
SELECT d1.cla
关于监听器那些让人头疼的事
宝剑锋梅花香
画图板 监听器 鼠标监听器
本人初学JAVA,对于界面开发我只能说有点蛋疼,用JAVA来做界面的话确实需要一定的耐心(不使用插件,就算使用插件的话也没好多少)既然Java提供了界面开发,老师又要求做,只能硬着头皮上啦。但是监听器还真是个难懂的地方,我是上了几次课才略微搞懂了些。
JAVA的遍历MAP
darkranger
map
Java Map遍历方式的选择
1. 阐述
对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢?
为了解遍历性能的真实差距,包括在遍历ke
POJ 2312 Battle City 优先多列+bfs
aijuans
搜索
来源:http://poj.org/problem?id=2312
题意:题目背景就是小时候玩的坦克大战,求从起点到终点最少需要多少步。已知S和R是不能走得,E是空的,可以走,B是砖,只有打掉后才可以通过。
思路:很容易看出来这是一道广搜的题目,但是因为走E和走B所需要的时间不一样,因此不能用普通的队列存点。因为对于走B来说,要先打掉砖才能通过,所以我们可以理解为走B需要两步,而走E是指需要1
Hibernate与Jpa的关系,终于弄懂
avords
java Hibernate 数据库 jpa
我知道Jpa是一种规范,而Hibernate是它的一种实现。除了Hibernate,还有EclipseLink(曾经的toplink),OpenJPA等可供选择,所以使用Jpa的一个好处是,可以更换实现而不必改动太多代码。
在play中定义Model时,使用的是jpa的annotations,比如javax.persistence.Entity, Table, Column, OneToMany
酸爽的console.log
bee1314
console
在前端的开发中,console.log那是开发必备啊,简直直观。通过写小函数,组合大功能。更容易测试。但是在打版本时,就要删除console.log,打完版本进入开发状态又要添加,真不够爽。重复劳动太多。所以可以做些简单地封装,方便开发和上线。
/**
* log.js hufeng
* The safe wrapper for `console.xxx` functions
*
哈佛教授:穷人和过于忙碌的人有一个共同思维特质
bijian1013
时间管理 励志人生 穷人 过于忙碌
一个跨学科团队今年完成了一项对资源稀缺状况下人的思维方式的研究,结论是:穷人和过于忙碌的人有一个共同思维特质,即注意力被稀缺资源过分占据,引起认知和判断力的全面下降。这项研究是心理学、行为经济学和政策研究学者协作的典范。
这个研究源于穆来纳森对自己拖延症的憎恨。他7岁从印度移民美国,很快就如鱼得水,哈佛毕业
other operate
征客丶
OS osx
一、Mac Finder 设置排序方式,预览栏 在显示-》查看显示选项中
二、有时预览显示时,卡死在那,有可能是一些临时文件夹被删除了,如:/private/tmp[有待验证]
--------------------------------------------------------------------
若有其他凝问或文中有错误,请及时向我指出,
我好及时改正,同时也让我们一
【Scala五】分析Spark源代码总结的Scala语法三
bit1129
scala
1. If语句作为表达式
val properties = if (jobIdToActiveJob.contains(jobId)) {
jobIdToActiveJob(stage.jobId).properties
} else {
// this stage will be assigned to "default" po
ZooKeeper 入门
BlueSkator
中间件 zk
ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。
值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利
MySQL取得当前时间的函数是什么 格式化日期的函数是什么
BreakingBad
mysql Date
取得当前时间用 now() 就行。
在数据库中格式化时间 用DATE_FORMA T(date, format) .
根据格式串format 格式化日期或日期和时间值date,返回结果串。
可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格式。根据format字符串格式化date值:
%S, %s 两位数字形式的秒( 00,01,
读《研磨设计模式》-代码笔记-组合模式
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
abstract class Component {
public abstract void printStruct(Str
4_JAVA+Oracle面试题(有答案)
chenke
oracle
基础测试题
卷面上不能出现任何的涂写文字,所有的答案要求写在答题纸上,考卷不得带走。
选择题
1、 What will happen when you attempt to compile and run the following code? (3)
public class Static {
static {
int x = 5; // 在static内有效
}
st
新一代工作流系统设计目标
comsci
工作 算法 脚本
用户只需要给工作流系统制定若干个需求,流程系统根据需求,并结合事先输入的组织机构和权限结构,调用若干算法,在流程展示版面上面显示出系统自动生成的流程图,然后由用户根据实际情况对该流程图进行微调,直到满意为止,流程在运行过程中,系统和用户可以根据情况对流程进行实时的调整,包括拓扑结构的调整,权限的调整,内置脚本的调整。。。。。
在这个设计中,最难的地方是系统根据什么来生成流
oracle 行链接与行迁移
daizj
oracle 行迁移
表里的一行对于一个数据块太大的情况有二种(一行在一个数据块里放不下)
第一种情况:
INSERT的时候,INSERT时候行的大小就超一个块的大小。Oracle把这行的数据存储在一连串的数据块里(Oracle Stores the data for the row in a chain of data blocks),这种情况称为行链接(Row Chain),一般不可避免(除非使用更大的数据
[JShop]开源电子商务系统jshop的系统缓存实现
dinguangx
jshop 电子商务
前言
jeeshop中通过SystemManager管理了大量的缓存数据,来提升系统的性能,但这些缓存数据全部都是存放于内存中的,无法满足特定场景的数据更新(如集群环境)。JShop对jeeshop的缓存机制进行了扩展,提供CacheProvider来辅助SystemManager管理这些缓存数据,通过CacheProvider,可以把缓存存放在内存,ehcache,redis,memcache
初三全学年难记忆单词
dcj3sjt126com
english word
several 儿子;若干
shelf 架子
knowledge 知识;学问
librarian 图书管理员
abroad 到国外,在国外
surf 冲浪
wave 浪;波浪
twice 两次;两倍
describe 描写;叙述
especially 特别;尤其
attract 吸引
prize 奖品;奖赏
competition 比赛;竞争
event 大事;事件
O
sphinx实践
dcj3sjt126com
sphinx
安装参考地址:http://briansnelson.com/How_to_install_Sphinx_on_Centos_Server
yum install sphinx
如果失败的话使用下面的方式安装
wget http://sphinxsearch.com/files/sphinx-2.2.9-1.rhel6.x86_64.rpm
yum loca
JPA之JPQL(三)
frank1234
orm jpa JPQL
1 什么是JPQL
JPQL是Java Persistence Query Language的简称,可以看成是JPA中的HQL, JPQL支持各种复杂查询。
2 检索单个对象
@Test
public void querySingleObject1() {
Query query = em.createQuery("sele
Remove Duplicates from Sorted Array II
hcx2013
remove
Follow up for "Remove Duplicates":What if duplicates are allowed at most twice?
For example,Given sorted array nums = [1,1,1,2,2,3],
Your function should return length
Spring4新特性——Groovy Bean定义DSL
jinnianshilongnian
spring 4
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
CentOS安装Mysql5.5
liuxingguome
centos
CentOS下以RPM方式安装MySQL5.5
首先卸载系统自带Mysql:
yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf
查看是否还有mysql软件:
rpm -qa|grep mysql
去http://dev.mysql.c
第14章 工具函数(下)
onestopweb
函数
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
POJ 1050
SaraWon
二维数组 子矩阵 最大和
POJ ACM第1050题的详细描述,请参照
http://acm.pku.edu.cn/JudgeOnline/problem?id=1050
题目意思:
给定包含有正负整型的二维数组,找出所有子矩阵的和的最大值。
如二维数组
0 -2 -7 0
9 2 -6 2
-4 1 -4 1
-1 8 0 -2
中和最大的子矩阵是
9 2
-4 1
-1 8
且最大和是15
[5]设计模式——单例模式
tsface
java 单例 设计模式 虚拟机
单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点
安全的单例模式:
/*
* @(#)Singleton.java 2014-8-1
*
* Copyright 2014 XXXX, Inc. All rights reserved.
*/
package com.fiberhome.singleton;
Java8全新打造,英语学习supertool
yangshangchuan
java superword 闭包 java8 函数式编程
superword是一个Java实现的英文单词分析软件,主要研究英语单词音近形似转化规律、前缀后缀规律、词之间的相似性规律等等。Clean code、Fluent style、Java8 feature: Lambdas, Streams and Functional-style Programming。
升学考试、工作求职、充电提高,都少不了英语的身影,英语对我们来说实在太重要