确定在客户端的 DevExpress 页面控件中单击了哪个选项卡

determine which tab clicked in DevExpress Pagecontrol at clientside

本文关键字:单击 选项 控件 客户端 DevExpress      更新时间:2023-09-26
使用

DevExpress ASPXTabControl,我如何确定在客户端使用 Javascript 单击了哪个选项卡。

我有多个选项卡,每个选项卡都包含一个加载数据的回调面板。这一切都有效,但是当单击任何选项卡时,将加载所有数据。

我想确定单击了哪个选项卡,并且仅在相关回调面板上执行回调。

据我了解,当回调面板驻留在 TabPage 内时,您有一个布局。 如果是这样,则可以使用以下方法实现任务:

1) 设置每个 ASPxCallbackPanel 的 ClientInstanceName 属性,如下所示:

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

即每个回调面板的客户端实例名称取决于它所在的选项卡。

2) 处理 ASPxPageControl 的 ActiveTabChanged 客户端事件,如下所示:

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

另外,我建议您查看如何在回调中创建和加载活动选项卡的内容

为 AspxpageControl 编写 ClientSideEvent

<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>

这将在第一次单击时在每个选项卡上加载数据,之后选项卡模式将在客户端模式下加载