编辑器 1.4 / 数据表 1.10.5
很高兴使用我在 2015 年的第一篇博客文章发布编辑器 1.4 和数据表 1.10.5。2015 年对于数据表项目来说,将是不平凡的一年,该项目计划增加许多有用的功能,而这两个新版本很好地奠定了基调。
在本文中,我将简要介绍每个新版本中的一些主要新功能 - 以后的文章将详细探讨其中的某些功能。
编辑器 1.4 和数据表 1.10.5 现已可用
编辑器 1.4
编辑器的第五个主要版本支持添加 .NET 平台。自编辑器的原始版本发布以来,它一直提供 PHP 库,以使 CRUD 操作尽可能简单。最初做出注重 PHP 的决策是相当容易的,这是为了最大化编辑器在市场上的影响力。但是,我们的目标始终是超越 PHP,现在,随着引入了数据表和编辑器的 .NET 库,这一目标已经实现。
此版本主要集中在 .NET 库的开发上,但 Javascript 和 PHP 组件也引入了新功能,并解决了所有已知错误。
同样,作为 1.4 版本的一部分,编辑器的打包和安装也得到了简化。现在有三个软件包,任何外部资源都是从 CDN 请求的,而不需要设置特定的路径结构
- 适用于 PHP 的编辑器 - 包括 PHP 库和所有示例
- 适用于 .NET 的编辑器 - 包括 .NET 库和所有示例
- 仅适用于 JS+CSS 的编辑器 - 仅限客户端软件!
编辑器 1.4 是所有当前许可证持有者的免费升级。
.NET
适用于编辑器的 .NET 库提供与 PHP 库相同的功能,并具有非常相似的 API(尽管各不相同,以符合每个平台的最佳实践)。随着编辑器开发的进展,这两个库将并行开发并保持功能兼容性。
已经开发出使用 .NET 搭配编辑器的详尽文档。示例和文档的重点主要在于将Web API与编辑器的 Ajax 调用一起使用,因为 Web API 非常适合编辑器这样的用例,但您也可以在需要时使用更传统的 MVC 控制器来响应 Ajax 请求。
编辑器的 .NET 软件包是一个 Visual Studio 项目,它可以让您迅速了解编辑器。只需下载该软件包,对其进行配置以访问您的数据库,并在您的数据库上安装编辑器演示 SQL 即可!完整的安装说明现已推出。
生成器
编辑器的生成器已更新为生成 PHP 软件包或 Visual Studio 软件包,具体取决于您选择的平台,这让在任一平台上手动开始变得非常容易。只需输入您想要的字段,生成器就会为客户端和服务器端创建您需要的所有内容。
Generator 当前创建的 SQL 支持 SQL Server/Azure、MySQL 和 Postgres 数据库。将来会添加 Oracle 和 SQLite 等其他数据库。
从属方法
客户端编辑器的 dependent()
方法新增了一种能力,可以根据用户输入值轻松地有条件地更新表单。例如,考虑如下常见场景:当选择特定下拉输入或单选框值时,需要显示一个附加选项 - dependent()
现在会让这一切变得轻而易举。
在以下示例中,当 location
字段的值设为“其他”时,将显示“external_location”字段 - 否则它将被隐藏
editor.dependent( 'location', function ( val, data, callback ) {
return val === 'other' ?
{ show: 'external_location' } :
{ hide: 'external_location' };
} );
dependent()
可以通过返回的数据来控制字段的可见性、选项和值。此外,它可以使用,如上所示,内部回调或外部使用 Ajax 请求来获取该控件数据。
有了 dependent()
,可以像创建简单表单一样快速地创建复杂表单!
其他功能
还有一些新功能,比如在 Editor 类中使用复杂条件和子查询的能力,以及对于库的服务器端 get 和 set 值的精细控制。这些话题相当复杂,因此我将在以后的文章中探讨它们!
DataTables 1.10.5
最新的 DataTables 版本虽然主要是一个 bug 修复版本,但它也引入了使用 HTML data-*
属性配置 DataTable 的新功能。构造 DataTable 时,它现在将读取 data-*
属性,并将其用作初始化选项。此功能是一个常见的需求功能,也是我一直在想要添加的功能 - 非常感谢 greenbender 为实现这个功能提出了一种非常简单的方法!
使用 data-*
属性作为初始化选项非常简单,您只需记住两条规则
- 属性短划线名称将自动转换为驼峰表示法。例如,
pageLength
选项将写成属性data-page-length
。 - 如果需要将对象或数组值用作值,则该值必须是有效的 JSON。这意味着双引号必须用于该属性中,因此单引号用于该属性本身(这是 jQuery 为此功能实现其
$().data()
方法的方式)。
不仅可以将表级别配置属性应用于 table
标签,还可以使用每列标题单元格中的属性来应用列选项。
例如,请考虑以下 HTML
<table data-order='[[ 1, "asc" ]]' data-page-length='25'>
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th data-class-name="priority">Salary</th>
</tr>
</thead>
</table>
这在功能上与使用以下 Javascript 相同
$('table').DataTable( {
order: [[ 1, "asc" ]],
pageLength: 25,
columnDefs: [ {
targets: -1,
className: "priority"
} ]
} );
这种配置选项的方法将优先于通过 Javascript 配置的参数(允许 Javascript 配置对页面是全局的,而这是针对特定表的)。此外,初始化文档已更新以反映此新选项。
下载
可在 DataTables CDN 上获取 DataTables 1.10.5,也可以从 下载页面 下载到本地主机。
有关 1.10.5 中出现的新功能和错误修复的完整叙述,请参阅 发行说明。
尽情享用!
开发 DataTables 和 Editor 始终是一件乐事,我对这些最新版本感到非常激动。如果您遇到任何问题或有任何疑问,请 在论坛中打开一个新主题。同样,如果您仅仅想分享如何使用它们,请告诉我们!