Ich habe Telerik RadGrid, die im Bearbeitungsmodus ist. Jede Zelle enthält NumericTextBox. Ist es möglich, eine Zelle basierend auf anderen Zellen in derselben Zeile (auf der Client-Seite) zu berechnen? Zum Beispiel, wenn ich eine Zeile habe, die Zellen wie Preis und Artikel enthält, möchte ich bei jeder Änderung den Gesamtpreis berechnen, aber auf der Client-Seite, ohne zur Server-Seite zu gehen. Ist das mit RadGrid möglich?Wie berechnet man den RadGrid-Zellenwert auf der Client-Seite?
Antwort
Danke für alle Ihre Antworten, aber ich fand die Lösung hier bei telerik forum. Ich füge einfach die Lösung hier ein, für den Fall, dass jemand in demselben Problem steckenbleibt.
ASPX:
<Columns>
<rad:GridTemplateColumn UniqueName="Price" HeaderText="Price">
<EditItemTemplate>
<radI:RadNumericTextBox ID="txtPrice" runat="server">
</radI:RadNumericTextBox>
</EditItemTemplate>
</rad:GridTemplateColumn>
<rad:GridTemplateColumn UniqueName="Quantity" HeaderText=" Number of Items">
<EditItemTemplate>
<radI:RadNumericTextBox ID="txtQuantity" runat="server">
</radI:RadNumericTextBox>
</EditItemTemplate>
</rad:GridTemplateColumn>
<rad:GridTemplateColumn UniqueName="TotalAmount" HeaderText="Total">
<EditItemTemplate>
<radI:RadNumericTextBox ID="txtTotalAmount" runat="server">
</radI:RadNumericTextBox>
</EditItemTemplate>
</rad:GridTemplateColumn>
</Columns>
C#
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem && e.Item.IsInEditMode)
{
GridDataItem item = (GridDataItem)e.Item;
RadNumericTextBox txtPrice= item.FindControl("txtPrice") as RadNumericTextBox; // Get the textbox for column Price
RadNumericTextBox txtQuantity= item.FindControl("txtQuantity") as RadNumericTextBox; // Get the textbox for column Quantity
RadNumericTextBox txtTotalAmount= item.FindControl("txtTotalAmount") as RadNumericTextBox; // Get the textbox for column "TotalAmount", if it is template as shown in aspx
txtPrice.Attributes.Add("onFocusout", "return calculate('" + txtPrice.ClientID + "','" + txtQuantity.ClientID + "','" + txtTotalAmount.ClientID + "')");
txtQuantity.Attributes.Add("onFocusout", "return calculate('" + txtPrice.ClientID + "','" + txtQuantity.ClientID + "','" + txtTotalAmount.ClientID + "')");
txtTotalAmount.Attributes.Add("onfocus", "return calculate('" + txtPrice.ClientID + "','" + txtQuantity.ClientID + "','" + txtTotalAmount.ClientID + "')");
}
}
JavaScript:
<script type="text/javascript">
function calculate(price, quantity, totalAmount)
{
var text1 = $find(price); //I used Asp.net Ajax find method
var text2 = $find(quantity);
var text3 = $find(totalAmount);
var total = text1.GetValue() * text2.GetValue();
text3.SetValue(total);
}
</script>
Es ist möglich, vorausgesetzt, Sie haben die Daten auch über die Client-Seite erhalten, am wahrscheinlichsten über AJAX. In diesem Fall sollten Sie alle Werte aus der Datenquelleneigenschaft des Rasters abrufen können. Wenn Sie die Datenserverseite binden, wird es schwieriger, da das Raster in diesem Fall derzeit nicht die clientseitige Datenquelle erstellt.
Schauen Sie sich die Demo auf der Telerik-Seite von RadGrid -> Anwendungsszenarien an, die numerische Textfelder verwendet und veranschaulicht, wonach Sie suchen, Alter.
Dick
Da jedes Element in einer Tabellenzeile ist Sie Javascript verwenden, könnte das übergeordnete Element zu finden und dann eine Schleife durch alle Eingänge diejenigen zu finden, die Sie suchen? Wenn Sie jQuery verwenden, sollte dies möglich sein, und wenn Sie die Textfelder leicht unterscheiden wollten, konnten Sie eine CssClass auf jede TextBox anwenden?
- 1. Wie berechnet man den Gesamtwert der Zeile?
- 2. Wie berechnet man den Netzwerkdurchmesser
- 3. Wie berechnet man den richtigen Zoomfaktor?
- 4. Erkennen von Socket.IO-Nachrichtenübermittlungsfehler auf der Clientseite
- 5. JavaScript: Wie berechnet man den Seitenverkehr?
- 6. Wie berechnet man den Dropdown-Wert? JQuery
- 7. Wie berechnet man in Tableau den gewichteten Durchschnitt auf Tagesbasis?
- 8. Wie berechnet man Partituren?
- 9. Wie berechnet man den Stromverbrauch der Android App?
- 10. Wie berechnet man den gesamten von der Datenbank belegten Speicher
- 11. Wie berechnet man den Mittelwert der oberen 10% in R
- 12. Verschlüsselung vertraulicher Daten auf der Clientseite
- 13. Wie berechnet man Perzentile aus der Häufigkeitstabelle?
- 14. Caching von Daten auf der Clientseite erzwingen
- 15. Wie berechnet man "Ansichten"?
- 16. Wie berechnet man freien Speicherplatz?
- 17. Wie berechnet man den Zoom-Level gegen zurückgegebene Marker?
- 18. Wie berechnet man den nächsten Geburtstag bei einem Geburtsdatum?
- 19. Wie berechnet man den Abstand zwischen zwei Standorten mit ASP.NET?
- 20. Wie berechnet man den Mittelwert eines gruppierten Datenrahmens?
- 21. Wie berechnet iperf den Durchsatz
- 22. Wie berechnet man den längsten ungeschlagenen Streak mit MySQL?
- 23. Abrufen einer Enum auf Clientseite
- 24. Wie berechnet man die Schriftbreite?
- 25. Pyephem: Wie berechnet man Transite?
- 26. Wie Sie JAXB-Annotationen auf der Clientseite für GWT verwenden?
- 27. Wie URLs auf der Clientseite mithilfe von ASP.NET MVC generieren?
- 28. Wie kann Javascript auf der Clientseite von node.js eingebunden werden?
- 29. Wie berechnet man die Zeit?
- 30. Wie berechnet man den Codeabdeckungsprozentsatz für die Pfadabdeckung manuell?
Wenn Sie thikn dieser Link http://demos.telerik.com/aspnet-ajax/controls /examples/integration/gridandinput/defaultcs.aspx?product=grid es ist nicht das, was ich brauche. Das berechnet Fußzeile und ich brauche Berechnung der Zelle innerhalb einer Reihe. – nemke