没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:张莹心|2021-11-03 10:25:15.310|阅读 728 次
概述:在开发 Web 应用程序和界面时,可以将数据网格视为必不可少的组件。这个小部件允许通过以表格的形式显示大量数据集来处理它们。在本文中,我们将展示如何使用 DHTMLX 构建 JavaScript 网格。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
在开发 Web 应用程序和界面时,可以将数据网格视为必不可少的组件。这个小部件允许通过以表格的形式显示大量数据集来处理它们。
DHTMLX Grid 小部件提供了一个全面的功能集来处理大量数据并确保用户友好的数据管理。它包括诸如数据过滤和排序、调整大小、行和列拖放、动态加载以及导出到 Excel 和 CSV 等方便的功能。
在本文中,我们将展示如何使用 DHTMLX 构建 JavaScript 网格。

<!DOCTYPE html>
<html>
<head>
<title>Grid demo</title>
// include source files of the DHTMLX Suite library
<script type="text/javascript" src="codebase/suite.js"></script>
<link rel="stylesheet" href="codebase/suite.css" />
// add dataset for the Grid
<script type="text/javascript" src="dataset.js"></script>
// add CSS classes with custom settings
<style>
...
</style>
</head>
接下来,您应该添加一个容器并为其指定一个 id,例如“grid”: <body>
<div id="grid" class="grid-wrapper"></div>
然后您必须使用对象构造函数初始化 Grid 小部件: <script>
// create a data set for the first column (instead you can add your data)
var users = [
{
name: "Gary Ortiz",
ava: "01.png",
},
{
name: "Albert Williamson",
ava: "02.png",
},
{
name: "Mildred Fuller",
ava: "03.png",
},
];
// specify Grid configurations
var config = {
// configure each Grid column
columns: [
...
],
},
// initialize the Grid widget and add specified configurations
this.widget = new dhx.Grid("grid", config);
var grid = this.widget;
</script>
</body>
</html>
.grid-wrapper {
width: 1100px;
height: 560px;
}
将背景颜色应用于网格行:.my_custom_row {
background: #b4dbfe;
}
设置用户照片的位置:.demo_grid-user-photo {
border-radius: 50%;
width: 24px;
height: 24px;
background: #61c874;
text-align: center;
line-height: 23px;
border: solid 1px #fff;
color: white;
font-weight: 500;
margin-right: -3px;
}
根据任务的状态指定具有任务的单元格的外观:.demo_grid-task {
height: 24px;
max-width: 92px;
line-height: 25px;
margin: 8px auto 0 auto;
border-radius: 100px;
text-align: center;
}
.demo_grid-task__done {
background: linear-gradient(
0deg,
rgba(10, 177, 105, 0.1),
rgba(10, 177, 105, 0.1)
),
#ffffff;
color: #0ab169;
}
.demo_grid-task__progress {
background: linear-gradient(
0deg,
rgba(2, 136, 209, 0.1),
rgba(2, 136, 209, 0.1)
),
#ffffff;
color: #0288d1;
}
.demo_grid-task__not-started {
background: linear-gradient(
0deg,
rgba(122, 134, 140, 0.1),
rgba(122, 134, 140, 0.1)
),
#ffffff;
color: rgba(0, 0, 0, 0.7);
}
columns: [
{
// assign column width
width: 150,
// set the id of a column
id: "access",
// define the type of the editor and the content alignment
type: "string",
// configure the header and footer
header: [{ text: "Access", rowspan: 2 }],
footer: [{ text: "Total" }],
// define the ability to edit data
editable: false,
// set a template with content for a cell
template: function (value) {
if (!value) {
return;
}
var photos = value.reduce(function (total, user) {
return (
total +
(user.ava
? '<img src="./images/' +
user.ava +
'" class="demo_grid-user-photo"/>'
: '<div class="demo_grid-user-photo" style="background:' +
user.color +
';">' +
user.name.slice(0, 1) +
"</div>")
);
}, "");
return '<div class="demo_grid-user">' + photos + "</div>";
},
}
{
editorType: "select",
options: ["Done", "In Progress", "Not Started"],
}
此外,您可以应用创建的 CSS 类,这些类将根据所选选项修改 Grid 单元格:template: function (value) {
if (value === "Done") {
return (
'<div class="demo_grid-task demo_grid-task__done">' +
value +
"</div>"
);
}
if (value === "In Progress") {
return (
'<div class="demo_grid-task demo_grid-task__progress">' +
value +
"</div>"
);
}
if (value === "Not Started") {
return (
'<div class="demo_grid-task demo_grid-task__not-started">' +
value +
"</div>"
);
}
if (value === "Active") {
return (
'<div class="demo_grid-task demo_grid-task__active">' +
value +
"</div>"
);
}
},

id: "project",
header: [{ text: "Project" }, { content: "selectFilter" }],

id: "owner",
header: [{ text: "Owner" }, { content: "comboFilter" }],
指定 inputFilter 属性后,您允许用户使用文本字段过滤数据:id: "hours",
header: [{ text: "Number of hours" }, { content: "inputFilter" }],

this.widget.content["moneySum"] = {
calculate: function (data) {
return data.reduce(function (sum, c) {
return sum + parseFloat(c) || sum + 0;
}, 0);
},
toHtml: function (column, config) {
if (grid.data) {
var data = grid.data.map(function (item) {
return item[column.id];
});
return this.calculate(data).toLocaleString("en", {
style: "currency",
currency: "USD",
});
}
},
};

而且,你必须在列配置中提到这个公式:
id: "cost",
footer: [{ content: "moneySum" }],
想要购买dhtmlx正版授权,或了解慧都APS系统请点击本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn




在使用Parasoft C/C++test执行BugDetective数据流分析时,可能会遇到用户自定义的资源API,那在这种情况下,若要判断是否存在资源问题,如资源泄露等,则需要手动配置测试配置。
大型SaaS系统的自动化测试常常受制于界面变化快、结构复杂、加载机制多变等因素。从元素识别到脚本管理,SmartBear TestComplete帮助Salesforce建了可靠的自动化测试体系。
BarTender 标签管理系统,正是帮助企业轻松实现 GS1 标准化标签设计、编码生成与信息联动的强大工具。
Parasoft C/C++test 是一款功能强大的 C/C++ 软件测试工具,集成了静态代码分析、单元测试、集成测试和覆盖率分析等功能,单元测试作为其关键功能之一,为了适配多样化的目标部署环境,C/C++test 设计了灵活的测试结果收集机制。通过Socket通讯方式来收集单元测试结果,从而扩展其测试覆盖范围与应用场景。
相关产品
针对您的解决方案的交互式JavaScript / HTML5甘特图
DHTMLX Spreadsheet高度可定制的JavaScript电子表格组件,可安全、方便地编辑和格式化数据。
DHTMLX DiagramdhtmlxDiagram有很多漂亮的交互式图表,只需几行代码就能生成任何你需要的图表。
DHTMLX Scheduler一个类似于Google日历的强大JavaScript日程安排控件。
最新文章 MORE
半岛外围网上直营相关的文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
半岛外围网上直营