Как изменить два многовидовых окна одновременно?
Хорошо, позвольте мне сначала начать с объяснения того, что у меня есть.
У меня есть сегментированный элемент управления, который действует как мой элемент управления Tab-bar. Это изменяет содержимое страницы в зависимости от того, какой сегмент (вкладка) выбран. Содержание страницы разделено на левую и правую колонку. Каждый столбец имеет свой собственный Multiview.
Теперь проблема заключается в том, что я могу изменить только один из мультивизор при изменении сегмента (вкладки).
_______________
| ___ ___ ___ |
| (_1_|_2_|_3_) | /* segments or tabs */
| ____ _____ |
| |left|right| | /* two columns that must change */
| |~~~ |~~~ | |
| |~~~ |~~~ | |
| |~~~ | | |
| |____|_____| |
|_______________|
Это часть моего кода, и я использую сенсорный dhtmlx
{
container:"content",
type:"clean",
css:"page",
rows:[
{
view:"toolbar",
elements:[
{view:"segmented", width:320, inputWidth: 280, multiview: true, selected:"cos_301", align:"center", options: [
{ label: 'COS 301', value: "cos_301"},
{ label: 'COS 333', value: "cos_333"},
{ label: 'COS 364', value: "cos_364"}
]}
]
},
{cols:[
{view:"label", label:"Announcements"},
{view:"label", label:"Pracs"}
]},
{cols:[
{view:"multiview", width:200, height: 290,
cells:[
{ template:"some info", scrol: true, id:"cos_301" },
{ template:"some info", scrol: true, id:"cos_333" },
{ template:"some info", scroll: true, id:"cos_364" }
]
},
{view:"multiview", width:100, height: 290,
cells:[
{ template:"some info", scrol: true, id:"cos_301p" },
{ template:"some info", scrol: true, id:"cos_333p" },
{ template:"some info", scrol: true, id:"cos_364p" }
]}
]}
]
}
/отображается правильно, просто не хочет меняться/
1 ответ
Вы можете попытаться установить обработчик onBeforeTabClick, чтобы отображать более одного представления при щелчке на вкладке (и в этом случае вы можете удалить "multiview: true" из конфигурации):
dhx.ui({
...
{view:"segmented", id: "tabs", ...}
...
});
$$("tabs").attachEvent("onBeforeTabClick", function(button, id) {
// show the view in the first column
$$(id).show();
// and the second column
$$(id+"p").show();
return true;
});