dojox.layout.TableContainer 使用 div 而不是 table 元素
dojox.layout.TableContainer using div instead of table element
我正在按照 here 所述以编程方式创建一个 table 容器。
但我发现它没有使用文档中描述的 table 元素。相反,它使用 div。因此,如果调整父项的大小,子项就会流动。标签也不显示。这就是它最终的样子。
这是我的代码。代码中的 detailPane 是 dijit/layout/ContentPane,它的父级是 dijit/layout/BorderContainer。我做错了什么?
var programmatic = new TableContainer(
{
cols: 2,
showLabels: true
});
detailPane.addChild(programmatic);
var text1 = new TextBox({label: "ProgText 1"});
var text2 = new TextBox({label: "ProgText 2"});
var text3 = new TextBox({label: "ProgText 3"});
var text4 = new TextBox({label: "ProgText 4"});
// Add the four text boxes to the TableContainer
programmatic.addChild(text1);
programmatic.addChild(text2);
programmatic.addChild(text3);
programmatic.addChild(text4);
programmatic.startup();
谢谢,
我在这里创建了一个 jsfiddle,在 ContentPane 中使用 TableContainer 布局。
JS部分:
require(["dojo/parser","dijit/layout/ContentPane","dojox/layout/TableContainer", "dijit/form/TextBox","dojo/domReady!"], function (parser, ContentPane, TableContainer, TextBox ) {
var myCP = new ContentPane({
style:"height:125px"
}, "putWidgetHere");
// Add the custom class "labelsAndValues"
var programmatic = new TableContainer(
{
cols: 2,
customClass:"labelsAndValues",
"labelWidth": "150"
} /*,"putWidgetHere" */);
// Create four text boxes
var text1 = new TextBox({label: "ProgText 1"});
var text2 = new TextBox({label: "ProgText 2"});
var text3 = new TextBox({label: "ProgText 3"});
var text4 = new TextBox({label: "ProgText 4"});
// Add the four text boxes to the TableContainer
programmatic.addChild(text1);
programmatic.addChild(text2);
programmatic.addChild(text3);
programmatic.addChild(text4);
myCP.addChild(programmatic);
myCP.startup();
});
CSS部分:
.labelsAndValues-labelCell {
background-color: lightgrey;
padding-left: 5px;
}
.labelsAndValues-valueCell {
padding-left: 20px;
background-color: lightblue;
}
我正在按照 here 所述以编程方式创建一个 table 容器。
但我发现它没有使用文档中描述的 table 元素。相反,它使用 div。因此,如果调整父项的大小,子项就会流动。标签也不显示。这就是它最终的样子。
这是我的代码。代码中的 detailPane 是 dijit/layout/ContentPane,它的父级是 dijit/layout/BorderContainer。我做错了什么?
var programmatic = new TableContainer(
{
cols: 2,
showLabels: true
});
detailPane.addChild(programmatic);
var text1 = new TextBox({label: "ProgText 1"});
var text2 = new TextBox({label: "ProgText 2"});
var text3 = new TextBox({label: "ProgText 3"});
var text4 = new TextBox({label: "ProgText 4"});
// Add the four text boxes to the TableContainer
programmatic.addChild(text1);
programmatic.addChild(text2);
programmatic.addChild(text3);
programmatic.addChild(text4);
programmatic.startup();
谢谢,
我在这里创建了一个 jsfiddle,在 ContentPane 中使用 TableContainer 布局。
JS部分:
require(["dojo/parser","dijit/layout/ContentPane","dojox/layout/TableContainer", "dijit/form/TextBox","dojo/domReady!"], function (parser, ContentPane, TableContainer, TextBox ) {
var myCP = new ContentPane({
style:"height:125px"
}, "putWidgetHere");
// Add the custom class "labelsAndValues"
var programmatic = new TableContainer(
{
cols: 2,
customClass:"labelsAndValues",
"labelWidth": "150"
} /*,"putWidgetHere" */);
// Create four text boxes
var text1 = new TextBox({label: "ProgText 1"});
var text2 = new TextBox({label: "ProgText 2"});
var text3 = new TextBox({label: "ProgText 3"});
var text4 = new TextBox({label: "ProgText 4"});
// Add the four text boxes to the TableContainer
programmatic.addChild(text1);
programmatic.addChild(text2);
programmatic.addChild(text3);
programmatic.addChild(text4);
myCP.addChild(programmatic);
myCP.startup();
});
CSS部分:
.labelsAndValues-labelCell {
background-color: lightgrey;
padding-left: 5px;
}
.labelsAndValues-valueCell {
padding-left: 20px;
background-color: lightblue;
}