Ist es möglich, die letzte Zeile eines DataGridView
als die Summe der Spalten zu machen, und dass die letzte Zeile immer anzeigen/eingefroren sein wird?Gefroren letzte Zeile von DataGridView als die Summe der Spalten?
Antwort
Um dies zu tun, Sie Showfooter Attribut Echte
und dann im Code festgelegt haben hinter Ihrem Wunsch-Wert im
<asp:GridView ID="grdList" runat="server" ShowFooter="True" >
// other part of gridview codes e.g columns or blah blah blah
</asp:GridView>
// in code-behind
int totalValue = 2 * 10;
grdList.Columns[2].FooterText = totalValue.ToString();
Die Lösung ist eigentlich sehr Fußzeilen hinzuzufügen ist einfach, und erfordert nur, dass Sie ein wenig über den Tellerrand hinaus denken.
Regel einmal Daten in die Rasteransicht geladen wird, gibt es eine dunkelgraue Zeile am unteren Rand davon:
Sie diesen Raum zu Ihrem Vorteil nutzen können. Alles, was Sie tun müssen, ist ein paar Etiketten auf das Formular ziehen, angewendet gerade in Ihrem Grid-Ansicht, mit einer Hintergrundfarbe gesetzt:
im Code, ein Verfahren wie folgt hinzufügen:
void UpdateTotal(Label Label, int Number)
{
// Called from another thread; facilitate safe cross-thread operation
if(this.InvokeRequired)
this.Invoke(new Action<Label, int>(UpdateTotal), new object[] {Label, Number});
// Called from this thread or invoked
else
// Format the number with a thousands separator
Label.Text = Number.ToString("N0");
}
Von dort, wo Sie Ihre Rasteransicht aktualisieren, rufen Sie UpdateTotal(labelPostsAffected, 2000);
auf, verwenden Sie den Namen Ihres Etiketts und die Summe, die Sie berechnet haben (oder berechnen Sie es in der Methode).
Das Ergebnis ist so etwas wie dieses:
Ja, es ist möglich. Zuerst müssen Sie durch das Raster iterieren und berechnen Sie die Summe der erforderlichen Spalten nach der Berechnung der Summen müssen Sie ein neues DataGridRow erstellen und füllen Sie es mit den berechneten Werten, legen Sie die Frozen-Eigenschaft des DataGridRow auf True und dann das neue DataGridRow zu der Datagridview. Sum Column Values in DataGridView
Anstatt eine neue zu schaffen DataGridRow Sie nur eine neue Zeile mit den summierten Werten auf Ihre Datenquelle hinzufügen könnte dann die letzte Zeile auf dem Datagrid finden und legen Sie die Eigenschaft dieser Zeile zu Gefrorener = True
- 1. DatagridView Letzte Zeile auswählen
- 2. Summe der Zeile n bis letzte Zeile
- 3. Summe der similiar Spalten für jede Zeile
- 4. SQL: Kumulierte Spalten & Summe über die Zeile
- 5. Summe Spalten pro Zeile postgresql
- 6. Sortieren Spalten in Datagridview
- 7. Summe der Spalten von 2D-Array
- 8. Neue Zeile in DataGridView verhindern
- 9. FadeOut Zeile und FadeIn als letzte Zeile
- 10. eine Zeile, wenn Summe der Spalten entspricht eine einzelne Spalte
- 11. C# datagridview Letzte Eintragszeile entfernen
- 12. PostgreSQL - erste Zeile als Summe der anderen Zeilen anzeigen
- 13. Excel weißer Bildschirm gefroren
- 14. Summe der Datagridview-Spalte mit Linq für eine eindeutige ID
- 15. Die letzte Zeile der Textdatei lesen
- 16. MySQL die letzte Zeile aus der Gruppe von zwei Spalten auswählen
- 17. keine Summe der Zeile geben
- 18. PHP MYSQL PDO Summe der Spalten
- 19. Justify letzte Zeile von UICollectionView
- 20. Adjazenzmatrix Summe der entsprechenden Zeilen und Spalten
- 21. Nur die letzte Zeile anzeigen
- 22. Entfernen der letzten Zeile Databound DataGridView C#
- 23. Klasse Instanz als neue Zeile in Datagridview (C#)
- 24. C#: Zeile aus DataGridView auswählen
- 25. Entfernen der ersten Zeile in DataGridView entfernt tatsächlich alle Zeilen
- 26. Datagridview Zeile Autoresize
- 27. Wie Zeile an letzte Stelle hinzufügen und Zeile von der aktuellen Position entfernen In DataGridview in VB.net
- 28. LINQ - Gruppe/Summe mehrerer Spalten
- 29. Excel - SUMME für mehrere Spalten
- 30. Gesamt in Footer von GridView anzeigen und Summe von Spalten (Zeilenschraubstock) in letzte Spalte hinzufügen
ich kippe finde dieses Attribut, wo ich es finden kann? – Gold
@Gold Ich hatte meinen Beitrag aktualisieren. Hör zu. –
danke viel !!, aber ich arbeite an WinForm ist es auch möglich? – Gold