Dojo Toolkit - 如何使用按钮更改 table 列的颜色?
Dojo Toolkit - How to change the color of a table column with a button?
我是 dojo 的完全初学者,只是一直在学习网站上的教程。现在我试图在按下按钮时动态更改 table 的背景颜色。这是我的 html 代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="dijit/themes/claro/claro.css">
<!-- load Dojo -->
<script>dojoConfig = {parseOnLoad: true}</script>
<script src="dojo/dojo.js" data-dojo-config="async: true"></script>
<script> require(['myModule.js']); </script>
<title>table</title>
</head>
<body class="claro">
<h1 id="greeting">test table</h1>
<table data-dojo-type="dojox.grid.DataGrid" id="tableContainer">
<thead>
<tr>
<th field="col1">Company</th>
<th field="col2">Contact</th>
<th field="col3">Country</th>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
</thead>
</table>
<button id="progButtonNode" type="button"></button>
<div id="result1"></div>
</body>
</html>
这是 myModule.js 文件。当我单击按钮时,该功能似乎不起作用。当我使用注释掉的代码时,它工作正常
require(["dijit/form/Button", "dojo/dom", "dojo", "dojo/domReady!"], function(Button, dom){
// Create a button programmatically:
var myButton = new Button({
label: "Click me!",
onClick: function(dojo){
//dom.byId("result1").innerHTML += "Thank you! ";
dojo.style("tableContainer", "background-color", "red");
}
}, "progButtonNode").startup();
});
您需要在节点上应用样式,所以
dojo.style(dom.byId("tableContainer"), "background-color", "red");
应该适合你。另一种方法是更改 css class。假设您有一个 css class 可以执行您想要的操作,并且您希望在单击按钮时应用它。你可以这样做
dijit.byId('yourgid').set('class','yourcssclass');
您还可以使用 onStyleRow 事件来设置行的样式
我是 dojo 的完全初学者,只是一直在学习网站上的教程。现在我试图在按下按钮时动态更改 table 的背景颜色。这是我的 html 代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="dijit/themes/claro/claro.css">
<!-- load Dojo -->
<script>dojoConfig = {parseOnLoad: true}</script>
<script src="dojo/dojo.js" data-dojo-config="async: true"></script>
<script> require(['myModule.js']); </script>
<title>table</title>
</head>
<body class="claro">
<h1 id="greeting">test table</h1>
<table data-dojo-type="dojox.grid.DataGrid" id="tableContainer">
<thead>
<tr>
<th field="col1">Company</th>
<th field="col2">Contact</th>
<th field="col3">Country</th>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
</thead>
</table>
<button id="progButtonNode" type="button"></button>
<div id="result1"></div>
</body>
</html>
这是 myModule.js 文件。当我单击按钮时,该功能似乎不起作用。当我使用注释掉的代码时,它工作正常
require(["dijit/form/Button", "dojo/dom", "dojo", "dojo/domReady!"], function(Button, dom){
// Create a button programmatically:
var myButton = new Button({
label: "Click me!",
onClick: function(dojo){
//dom.byId("result1").innerHTML += "Thank you! ";
dojo.style("tableContainer", "background-color", "red");
}
}, "progButtonNode").startup();
});
您需要在节点上应用样式,所以
dojo.style(dom.byId("tableContainer"), "background-color", "red");
应该适合你。另一种方法是更改 css class。假设您有一个 css class 可以执行您想要的操作,并且您希望在单击按钮时应用它。你可以这样做
dijit.byId('yourgid').set('class','yourcssclass');
您还可以使用 onStyleRow 事件来设置行的样式