我有一个使用dijit.layout.AccordionContainer和两个“子容器”的应用
加载地图时,默认情况下会打开其中一个容器。我希望关闭默认容器,单击按钮时打开第二个容器。知道怎么做吗?
我尝试过使用selectChild()方法,但必须做错了或完全偏离基础。
修改 我的HTML是:
<div dojotype="dijit.layout.ContentPane" id="leftPane" region="left" splitter="true">
<div dojotype="dijit.layout.AccordionContainer">
<div dojotype="dijit.layout.ContentPane" title="Table of Contents">
<div id="tocDiv">
</div>
</div>
<div dojotype="dijit.layout.ContentPane" title="Search Results" id="tab2">
<div id="datagrid">
<table data-dojo-type="dojox.grid.DataGrid" data-dojo-id="grid" id="grid" data-dojo-props="rowsPerPage:'5', rowSelector:'20px'">
<thead>
<tr>
<th field="Parcel Identification Number" width="25%">
Parcel ID
</th>
<th field="Site Address" width="30%">
Address
</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
我正试图打开“tab2”点击通过我创建的功能,我需要点击其他一些事情
JS:
function doFind() {
//Set the search text to the value in the box
findParams.searchText = dojo.byId("parcel").value;
grid.showMessage("Loading..."); //Shows the Loading Message until search results are returned.
findTask.execute(findParams,showResults);
}
答案 0 :(得分:3)
你非常接近。
我假设您正在收听自己的按钮点击事件。如果你不这样做,请尽可能发布代码的那一部分。
如果是,那么你需要这样做:
<accordian-container>.selectChild( <pane to open>);
您需要将窗格传递给selectChild方法。
accordion容器是一种堆栈容器,因此本文档应该有所帮助:
http://dojotoolkit.org/reference-guide/1.8/dijit/layout/StackContainer.html
以下是Stackoverflow上几乎相同问题的链接:Whats the best way to programatically open a pane inside Dijit AccordionContainer