net mvc ejemplos detail asp c# asp.net .net telerik radgrid

c# - mvc - Telerik RadGrid y Running Totals con Dynamic Columns



telerik radgrid documentation (1)

No creo que haya ninguna función / campo / columna inbuild en la cuadrícula telerik para mostrar el total acumulado, sin embargo, puede lograr esto en el evento ItemDataBound de la grilla calculándolo, almacenándolo y vinculándolo a la columna de plantilla de pie de página, a continuación se muestra el código de muestra:

protected void RadGrid1_ItemDataBound1(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem dataItem = e.Item as GridDataItem; string payment = dataItem["PaymentAmount"].Text; decimal fieldValue = decimal.Parse(payment); total += fieldValue; dataItem["Balance"].Text = total.ToString(); } if (e.Item is GridFooterItem) { GridFooterItem footerItem = e.Item as GridFooterItem; footerItem["PaymentAmount"].Text = "total: " + total.ToString(); } }

Avísame si me falta algo.

Tengo un RadGrid que tiene una fuente de datos con columnas dinámicas. También estoy agrupando en los datos y mostrando los totales para las columnas en el pie de página del grupo usando este código en el evento tratado por la columna:

if (e.Column.ColumnType != "GridExpandColumn" & e.Column.ColumnType != "GridGroupSplitterColumn") { if (e.Column.UniqueName != "Item" && e.Column.UniqueName != "Width" && e.Column.UniqueName != "Type" && e.Column.UniqueName != "Balance") { ((Telerik.Web.UI.GridBoundColumn)e.Column).Groupable = true; ((Telerik.Web.UI.GridBoundColumn)e.Column).DataFormatString = "{0:N0}"; ((Telerik.Web.UI.GridBoundColumn)e.Column).Aggregate = Telerik.Web.UI.GridAggregateFunction.Sum; } }

Mi cliente desea que los totales del pie de página agrupado sean un total acumulado. es decir, si el primer total es 100 y el segundo total es 25, entonces el total en el pie de página para el segundo debe mostrar 75. ¿Hay alguna manera de hacer esto con un agregado personalizado o de otra manera?

Cualquier ayuda sería genial. ¡Gracias!