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!