当有人过滤下面的ASPxGridView表时,我想更新4个仪表。我已经添加了适当的javascript函数,在每个仪表上调用自定义回调函数,但如果我尝试执行多个仪表,则会失败。
在aspx页面上,我有以下内容,它很有效并且几乎是瞬间的:
protected void reportGaugeLTD_CustomCallBack(object sender, EventArgs e)
{
ASPxGridView gridView = reportGridUnit as ASPxGridView;
float Miles = (float)Convert.ToDouble(gridView.GetTotalSummaryValue(gridView.TotalSummary["MilesLTD"]));
float Fuel = (float)Convert.ToDouble(gridView.GetTotalSummaryValue(gridView.TotalSummary["FuelLTD"]));
LTDMPGValue = Miles / Fuel;
ArcScaleComponent scale = GetGaugeScale(reportGaugeLTD, 0, 0);
scale.Value = LTDMPGValue;
scale.Ranges.Clear();
scale.Ranges.Add(CreateRange(globals.colorGaugeRedRange, 0, 3));
scale.Ranges.Add(CreateRange(globals.colorGaugeYellowRange, 3, overallMPGGoal));
scale.Ranges.Add(CreateRange(globals.colorGaugeGreenRange, overallMPGGoal, 10));
}
当我尝试添加另一个仪表时,它会失败或需要很长时间:
超过2且它永远不会返回(仪表只显示"加载"永远在它们上面)。
其中一个程序的内容如下:
{{1}}
我总共有四个仪表,但它们都有相同的核心代码。 我还尝试从链中的另一个函数调用一个函数,但即使计算所有签出和值更新,唯一的第一个规格刷新并显示该值。
答案 0 :(得分:0)
这里的解决方案是使用ASPxCallbackPanel并在其上触发OnCallBack事件。回调面板内部是我想要更新的四个仪表。
现在他们已经在一个集合/面板中,他们都可以被访问和更新。