|
//Add the TableSummaryRow
this.sfDataGrid.TableSummaryRows.Add(new GridTableSummaryRow()
{
Name = "TableSummaryRow",
ShowSummaryInRow = true,
Title = "TotalQtyAvail : {Q1} TotalQtyOnPO : {Q2}",
SummaryColumns = new System.Collections.ObjectModel.ObservableCollection<Syncfusion.Data.ISummaryColumn>()
{
new GridSummaryColumn()
{
Name = "Q1",
SummaryType = Syncfusion.Data.SummaryType.DoubleAggregate,
Format= "{Sum}",
MappingName="Q1",
},
new GridSummaryColumn()
{
Name = "Q2",
SummaryType = Syncfusion.Data.SummaryType.DoubleAggregate,
Format= "{Sum}",
MappingName="Q2",
}
}
});
private void SfDataGrid_DrawCell(object sender, DrawCellEventArgs e)
{
if ((e.DataRow as DataRowBase).RowType == RowType.TableSummaryCoveredRow)
{
float summaryColumnValue1 = 0;
float summaryColumnValue2 = 0;
float.TryParse(SummaryCreator.GetSummaryDisplayText((e.DataRow.RowData as SummaryRecordEntry), "Q1", sfDataGrid.View), out summaryColumnValue1);
float.TryParse(SummaryCreator.GetSummaryDisplayText((e.DataRow.RowData as SummaryRecordEntry), "Q2", sfDataGrid.View), out summaryColumnValue2);
e.DisplayText = e.DisplayText + " Sum of Order Qty: " + (summaryColumnValue1 + summaryColumnValue2).ToString();
}
} |
GridTableSummaryRow tableSummaryRow1 = new GridTableSummaryRow();
tableSummaryRow1.Name = "OrderQtySummary";
tableSummaryRow1.ShowSummaryInRow = true;
tableSummaryRow1.Title = "Order: ";
tableSummaryRow1.Position = VerticalPosition.Bottom;
tableSummaryRow1.SummaryColumns.Add(new GridSummaryColumn { Name = "SumQtyAvail", SummaryType = SummaryType.Int32Aggregate, Format = "{Sum}", MappingName = "QTY_AVAIL" });
tableSummaryRow1.SummaryColumns.Add(new GridSummaryColumn { Name = "SumQtyOnPO", SummaryType = SummaryType.Int32Aggregate, Format = "{Sum}", MappingName = "QTY_ON_PO" });
tableSummaryRow1.SummaryColumns.Add(new GridSummaryColumn { Name = "SumQtyOnXferIn", SummaryType = SummaryType.Int32Aggregate, Format = "{Sum}", MappingName = "QTY_ON_XFER_IN" });
tableSummaryRow1.SummaryColumns.Add(new GridSummaryColumn { Name = "SumQtyOnXferOut", SummaryType = SummaryType.Int32Aggregate, Format = "{Sum}", MappingName = "QTY_ON_XFER_OUT" });
tableSummaryRow1.SummaryColumns.Add(new GridSummaryColumn { Name = "SumUsage", SummaryType = SummaryType.Int32Aggregate, Format = "{Sum}", MappingName = "USAGE" });
mainGrid.TableSummaryRows.Add(tableSummaryRow1);
private void MainGrid_DrawCell(object sender, DrawCellEventArgs e)
{
if ((e.DataRow as DataRowBase).RowType == RowType.TableSummaryCoveredRow)
{
string[] sumItems = new string[] { "QTY_AVAIL", "QTY_ON_PO", "QTY_ON_XFER_IN", "QTY_ON_XFER_OUT", "USAGE" };
float[] sumValues = new float[] { 0, 0, 0, 0, 0 };
for (int i = 0; i < 5; i++)
{
string item = sumItems[i];
bool success = float.TryParse(SummaryCreator.GetSummaryDisplayText((SummaryRecordEntry)(e.DataRow.RowData), item, DataGrid.View), out sumValues[i]);
}
e.DisplayText = $"Order: {sumValues[4] - (sumValues[0] + sumValues[1] + sumValues[2] + sumValues[3])}";
}
}