определить, какая вкладка нажата в DevExpress Pagecontrol на стороне клиента - PullRequest
1 голос
/ 14 мая 2011

Использование DevExpress ASPXTabControl , Как определить, какая вкладка была нажата с помощью Javascript на стороне клиента.

У меня есть несколько вкладок, каждая из которых содержит панели обратного вызова, которые загружают данные. Это все работает, однако, при нажатии любой вкладки загружаются все данные.

Я бы хотел определить, какая вкладка была нажата, и только PerformCallback на соответствующей панели обратного вызова.

Ответы [ 2 ]

1 голос
/ 01 октября 2014

Записать ClientSideEvent для AspxpageControl

<ClientSideEvents EndCallback="
   function (s, e) {
    var tab = s.GetActiveTabIndex();
    switch (tab) {
        case 0:
            Page1Callback.PerformCallback();
            break;
        case 1:
            Page2Callback.PerformCallback();
            break;
        case 2:
            Page3Callback.PerformCallback();
            break;...

    }
}" />

</dx:ASPxPageControl>

это загрузит данные на каждую вкладку при первом щелчке и после этого режим вкладки перейдет в режим клиента

1 голос
/ 17 мая 2011

Насколько я понимаю, у вас есть макет, когда CallbackPanel находится внутри TabPage. Если это так, ваша задача может быть реализована с использованием следующего подхода:

1) установите свойство ClientInstanceName каждой ASPxCallbackPanel следующим образом:

"callBackPanel_" + Tab.Index.ToString ();

т.е. ClientInstanceName каждой CallbackPanel зависит от вкладки, в которой он находится.

2) обработать клиентское событие ActiveTabChanged ASPxPageControl, как показано ниже:

var panel = eval("callBackPanel_" + e.tab.index.toString());
panel.PerformCallback("parameter");

Также я предлагаю вам взглянуть на Как создать и загрузить содержимое активной вкладки при обратном вызове

...