2016-05-19 5 views
0

Ich möchte 4 Messgeräte aktualisieren, wenn jemand die ASPxGridView-Tabelle unter ihnen filtert. Ich habe die entsprechende JavaScript-Funktion hinzugefügt, die die benutzerdefinierte Callback-Funktion auf jedem Messgerät aufruft, aber wenn ich versuche, mehr als ein Messgerät zu machen, schlägt es fehl.Wie kann ich mehrere C# -Funktionen von einem einzigen clientseitigen EndCallBack ausführen, um mehr als ein DevExpress Gauge-Steuerelement zu aktualisieren?

Auf der aspx Seite Ich habe die folgende und es funktioniert super und ist fast augenblicklich:

<ClientSideEvents EndCallback="function(s, e) { 
reportGaugeFirst.PerformCallback(s, e); 
} " /> 

Wenn ich versuche, ein anderes Messgerät hinzufügen, sie versagt oder dauert lange:

Mehr als 2 und es kommt nie wieder (die Messgeräte zeigen nur "Loading" über sie für immer).

Der Inhalt eines des Verfahrens ist wie folgt:

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)); 
} 

Ich habe vier Lehren insgesamt aber sie alle haben den gleichen Kern-Code. Ich habe auch versucht, eine Funktion von einer anderen Funktion in einer Kette aufzurufen, aber obwohl die Berechnungen alle auschecken und der Wert aktualisiert, wird nur die erste Anzeige aktualisiert und zeigt den Wert an.

Antwort

0

Die Lösung hier war, ein ASPxCallbackPanel zu verwenden und das OnCallBack-Ereignis auf diesem zu feuern. Im Callback-Panel befinden sich die vier Anzeigen, die ich aktualisieren wollte.

Jetzt, da sie sich in einer einzelnen Sammlung/einem einzigen Panel befinden, können sie alle aufgerufen und aktualisiert werden.