ASP.NET вызывает CallbackPanel обратный вызов из JavaScript каждые 10 секунд

Вы можете использовать apply после изменения данных в нужные размеры: например:

i=nrow(dfs[[1]])
j=ncol(dfs[[1]])
k=length(dfs)
apply(array(unlist(dfs),c(i,j,k)),c(1,2),sum)

     [,1] [,2] [,3] [,4]
[1,] 29.3 15.7 17.6  5.3
[2,] 29.1 16.3 18.3  6.4
[3,] 27.9 15.1 15.6  4.4

, если вы хотите, чтобы среднее:

apply(array(unlist(dfs),c(i,j,k)),c(1,2),mean)

     [,1] [,2] [,3] [,4]
[1,] 5.86 3.14 3.52 1.06
[2,] 5.82 3.26 3.66 1.28
[3,] 5.58 3.02 3.12 0.88

, если вы хотите max:

apply(array(unlist(dfs),c(i,j,k)),c(1,2),max)
     [,1] [,2] [,3] [,4]
[1,]  7.2  3.6  6.1  2.5
[2,]  6.9  3.8  5.7  2.3
[3,]  6.1  3.5  4.9  1.8

Вы можете выполнить любую функцию, которая возвращает итоговое значение

data.frame(apply(array(unlist(dfs),c(i,j,k)),c(1,2),paste0,collapse=","))
                   X1                  X2                X3                  X4
1   4.8,7.2,6,6.4,4.9 3.1,3.6,2.2,3.2,3.6 1.6,6.1,4,4.5,1.4   0.2,2.5,1,1.5,0.1
2 4.6,6.9,5.8,5.1,6.7   3.6,3.2,2.7,3.8,3   1,5.7,5.1,1.5,5 0.2,2.3,1.9,0.3,1.7
3 4.8,5.8,5.5,6.1,5.7   3.4,2.6,3.5,3,2.6 1.9,4,1.3,4.9,3.5   0.2,1.2,0.2,1.8,1
0
задан kubinho1032 18 January 2019 в 18:25
поделиться

1 ответ

Вы можете использовать __doPostBack, передавая идентификатор вашей CallBackPanel. Например:

<script type='text/javascript'>
    setInterval(function () {
        __doPostBack("<%= panel.ClientID %>", "PanelCalledBack");
    }, 10000);
</script>

Затем проверьте соответствие переданного аргумента PanelCalledBack в событии OnLoad вашей панели (если оно есть) или в событии Page_Load:

if (Request.Params.Get("__EVENTARGUMENT")?.Trim().IndexOf("PanelCalledBack") != -1)
{
    ASPxCallbackPanel1_Callback(panel, null);
}
0
ответ дан yazanpro 18 January 2019 в 18:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: