`

关于 ECSide 列宽度调整的一些不足和一些建议

阅读更多
很多朋友反映 在使用ecside的列宽调节功能的时候,会出现定位不准,调整条位置错乱等bug
这篇文章主要是来更大家将一下为什么会有这个bug 以及该如何避免
同时希望有朋友帮忙想出一个好的完美的解决方案 先谢谢大家了
同时谢谢所有关注ecside的朋友们

先说一下我的建议:
1 ectable的宽度最好不要使用 百分比
2 当ectable使用百分宽度时,最好各个列也使用百分比,不要百分比和像素混合着用
(当然总和不要超过ectable的width宽度)
3 不管是使用什么样的宽度(百分比或像素),建议都要使用一个“自动宽度”的column,
就是说不要给所有的ec:column都指定width,给其中一个点“自由”,这样很多已知的关于列宽调整的问题都可以解决。

关于为什么百分比又bug

当你设置100% 的时候, table的宽度随窗口大小而变
而这时候有个问题就是  你给各个列设置的宽度不会跟着去变
例如 只有两列
各50%  页面第一次打开的时候,   大小是200像素 那么 每列100(其实不是 因为还有空白间距等, 但这里就取这么个大概数,便于理解)
当窗口变大到300的时候  列会自动重新计算 变成150;
但是此时 ecside的js脚本并不会重新计算,所以他纪录的还是原先的大小

也许你会问 为什么不重新计算,问题就是 没有一个快速简单合理的算法

例如原先窗口大小 200, 每列100
我调整成了  50 150
这时候后 窗口变大了 我该怎么重新计算这 50 和 100 才合理呢?

其实大家注意看一下 那些商业的 还有其他很多的开元的 可调节列宽的组件 都是固定宽度的
都不支持 100% ,我想大家的理由都是差不多的.

当然 如果你按我的第2 3条建议去做 很多时候不会有这个bug
分享到:
评论
4 楼 firedragon 2007-01-31  
ectable的width宽度用px后如果是用可伸缩的左右框架就难了
3 楼 fins 2007-01-29  
bjwulin 写道
按百分比的js代码有点bug:
ecside.js的197行:
var w=parentN.clientWidth-parseInt(parentN.style.paddingLeft)-parseInt(parentN.style.paddingLeft);
				

我修改为:

var w=parentN.clientWidth
				if (parentN.style.paddingLeft)
				{
					w=w- parseInt(parentN.style.paddingLeft);
				}
				if (parentN.style.paddingRight)
				{
					w=w- parseInt(parentN.style.paddingRight);
				}


哈哈 谢谢提醒

我又写了一个js函数
请用我写的这个替换 js自带的parseInt吧

ECSideUtil.parseIntOrZero=function(num){
	var t=parseInt(num);
	return isNaN(t)?0:t;
};
2 楼 retow 2007-01-29  
原来如此!try it!
1 楼 bjwulin 2007-01-29  
按百分比的js代码有点bug:
ecside.js的197行:
var w=parentN.clientWidth-parseInt(parentN.style.paddingLeft)-parseInt(parentN.style.paddingLeft);
				

我修改为:

var w=parentN.clientWidth
				if (parentN.style.paddingLeft)
				{
					w=w- parseInt(parentN.style.paddingLeft);
				}
				if (parentN.style.paddingRight)
				{
					w=w- parseInt(parentN.style.paddingRight);
				}

相关推荐

    ecside

    你可以根据实际需求调整这些配置,例如指定数据库类型(如 MySQL、Oracle 等)、表名和字段映射等。 **数据库操作** `ecside` 提供了丰富的数据库操作功能。通过执行 `ecside dbgen` 命令,可以自动生成基于配置...

    ecside的中文文档,和实例讲解,和所需类包2.0的

    3. **API参考**:详细列出ECSide提供的各种API和类,供开发者在实际编程中查阅使用。 4. **最佳实践**:分享了使用ECSide时的一些最佳实践,包括代码组织、性能优化等,有助于提升开发质量。 ### 三、实例讲解 ...

    ECSide文档.pdf

    《ECSide:一个强大的JSP列表组件》 ECSide,全称为Extreme Components Side,是一个开源的JSP列表组件,...通过合理的系统架构和开发环境配置,开发者可以高效地集成和使用ECSide,提升Web应用的用户体验和管理效率。

    ecside 文 档

    - **CSS和JS引用**:在页面头部加入Ecside的样式表(如`ecside_style.css`)和JavaScript文件,确保列表的样式和交互功能得以实现。 - **使用Ecside标签**:在JSP页面中使用`ec`前缀的标签,如`<ec:table>`,来定义...

    Ecside2.0中文教程

    6. **调试和测试**:学习如何对 EcSide2.0 应用进行调试和单元测试,这对于保证代码质量和解决问题至关重要。 通过这个中文教程,你不仅可以掌握 EcSide2.0 框架,还能进一步巩固和深化你的Java Web开发技能。记得...

    Ecside中文教程

    6. **自定义设置**:学习调整 Ecside 的显示设置,如字体大小、颜色主题,以适应个人的工作习惯。 7. **问题排查**:理解如何利用 Ecside 更高效地定位和解决问题,特别是对于调试和性能优化阶段, Ecside 可以提供...

    ecside2.0最新版本

    在ecside2.0的jar文件中,META-INF可能会包含关于框架的版本信息和其他配置数据。 综合以上信息,ecside2.0是一个值得研究和使用的Web开发框架,尤其是对于那些希望在2007年的技术环境下提升开发效率和应用性能的...

    ecside源码

    ecSide 提供灵活的配置机制,通过配置文件可以调整框架的行为,如路由设置、国际化支持、安全策略等。这使得项目可以根据具体需求进行定制,增强了框架的适应性。 ### 6. 开发工具与支持 ecSide 还提供了诸如代码...

    分页组件ECSIDE文档

    - **高级列表功能**:利用ECSIDE组件,开发者能够轻松实现列表的分页、排序、查询和列宽调整等功能,尤其在大数据场景下,其性能优势更为显著。 - **多格式导出**:借助ECSIDE,可以将页面内容导出为PDF、XLS、CSV等...

    ecside介绍:

    1. **SQL编辑器**:ecside提供了强大的SQL编辑器,支持语法高亮、自动补全和错误检查,帮助开发者编写、执行和调试SQL语句。它还支持多窗口同时编辑,方便进行复杂的查询比较和分析。 2. **结果集查看**:执行SQL后...

    ECSide标签使用说明

    首先,ECSide的一些原版属性如`imagePath`、`showPagination`和`form`在新的版本中已被废弃。`form`属性原本是为了允许用户将`ec:table`嵌入到已有的表单中,但现在的设计要求用户将已有表单的信息整合到`ec:table`...

    java ecside表格控件最后版本

    Java ECSide是一款基于Java开发的开源表格控件,主要用于数据展示和操作,它在Web应用中提供了强大的数据网格功能。ECSide的设计理念是提供一个轻量级、易用且功能丰富的表格组件,使得开发者可以方便地在网页上展示...

    ECSide基于数据库的分页、排序、过滤

    3. 使用Limit对象的信息来构造SQL语句,包括数据的起始和结束行、排序的列和方向,以及过滤的列和条件。 4. 在DAO中执行SQL,获取当前页需要显示的数据。 5. 将数据放入Collection中。 6. 将Collection传递给列表...

    Web项目所需ecside全部文件

    ECSide是一款基于Java开发的Web项目管理工具,主要用于协助开发者进行Web应用的开发、调试和维护工作。这个压缩包包含的"Web项目所需ecside全部文件"是ECSide的完整组件,使得用户能够在本地环境中顺利运行和使用...

    ECSide标签

    标题中的“ECSide标签”指的是ECSide项目中的一个特定元素或功能,可能是用于标识、组织或处理代码的一种...如果想要了解更多关于ECSide的信息,可以参考提供的博文链接,作者可能分享了关于该项目的详细见解和经验。

    ECSide开发手册

    本手册将详细阐述ECSide的各项功能、使用方法以及开发过程中的注意事项,旨在帮助开发者和数据库管理员更好地理解和运用这款软件。 **一、ECSide简介** ECSide基于Java语言开发,支持跨平台运行,可以在Windows、...

    ecside学习和总结

    本资源包含了作者对ECSide的学习和使用经验的总结,对于初学者和已经熟悉ECSide的开发者来说都是宝贵的参考资料。 1. **ECSide简介** ECSide是Eclipse的扩展,它提供了模型-视图-控制器(MVC)模式的实现,以提升...

    ecside中文文档

    ECSide是一款用于Web开发的开源组件,主要用来处理表格数据的展示、排序和过滤等操作。它提供了两种不同的实现方式,以适应不同场景下的性能需求。 ### 1. 基于Java Collection层的方式 这是ECSide的默认实现,...

Global site tag (gtag.js) - Google Analytics