Is there a way to display only the SUM in the summaries instead of the SUM, MIN, MAX, AVG, and Count.
I basically want a Totals row at the bottom of my table with the SUM only of each column. Is that possible?
Hello Ryan,
Yes, that's possible. What you need to do is to specify that you need only the "SUM" displayed. This is achieved through the "columnSettings" object in the "features" array. Here is a code sample:
...
features: [
{
name: "Summaries",
columnSettings: [
{ columnKey: "ProductID", allowSummaries: true, summaryOperands: [ { "rowDisplayLabel": "Summary", "type", "SUM", "active": true } ] },
{ columnKey: "Name", allowSummaries: true, summaryOperands: [ { "rowDisplayLabel": "Summary", "type", "SUM", "active": true } ] },
{ columnKey: "ProductNumber", allowSummaries: true, summaryOperands: [ { "rowDisplayLabel": "Summary", "type", "SUM", "active": true } ] }
]
}
You need to specify for each column that, you need only the "SUM" operation. You can also refer to this sample. If you have any additional questions, please don't hesitate to ask.
Thanks,
Martin Stoev
Martin -
Thanks for the response. That actually worked this time. I tried it earlier but I must have missed something as it didn't work then.
Only issue I have left is that when I enable the summaries and set it to custom so I can get this, I still see the 4 blank extra rows. Is there a way to eliminate them down to only the one I am using?
Here is what I have. I've been looking it over and I am not seeing the problem to the cause, yet. I know I must be missing something so maybe a second set of eyes could help. This is being done in MVC4.
@(Html.Infragistics().Grid(lvlreport.AsQueryable()) .ID("vbgrid") .AutoFormat(GridAutoFormat.Number) .Columns(column => { column.MultiColumnHeader().HeaderText("Custodian Overlay Report").Group(g => { g.For(x => x.Custodian).Template("${Custodian}").Width("150px").HeaderText("Custodian"); g.For(x => x.SourceGBCount).HeaderText(("User File Data Size (GB)").ToString()).Width("125"); g.For(x => x.SourceItemCount).HeaderText(("User File Doc Count").ToString()).Width("75"); g.For(x => x.ProcessedGbCount).HeaderText(("Expanded Data Size (GB)").ToString()).Width("100"); g.For(x => x.ProcessedItemCount).HeaderText(("Expanded Doc Count").ToString()).Width("100"); g.For(x => x.FirstLookGbCount).HeaderText(("ECA Loaded Data Size (GB)").ToString()).Width("75"); g.For(x => x.FirstLookItemCount).HeaderText(("ECA Loaded Doc Count").ToString()).Width("75"); g.For(x => x.TotalForReviewGBCount).HeaderText(("Total Size for Review (GB)").ToString()).Width("75"); g.For(x => x.TotalForReviewItemCount).HeaderText(("Total Docs for Review").ToString()).Width("75"); });
}) .Features(features => { features.Sorting().Mode(SortingMode.Single).ColumnSettings(settings => { settings.ColumnSetting().ColumnKey("Custodian").AllowSorting(true); features.Paging().PageSize(8).Type(OpType.Local); features.Filtering().Type(OpType.Local); }); features.Summaries() .ColumnSettings(cs => {
cs.ColumnSetting().ColumnKey("Custodian").SummaryOperands(so => { so.SummaryOperand().RowDisplayLabel("Total Record Count").Type(SummaryFunction.Count).Active(true); }); cs.ColumnSetting().ColumnKey("SourceGBCount").SummaryOperands(so => { so.SummaryOperand().RowDisplayLabel("Total").Type(SummaryFunction.Sum).Active(true); }); cs.ColumnSetting().ColumnKey("SourceItemCount").SummaryOperands(so => { so.SummaryOperand().RowDisplayLabel("Total").Type(SummaryFunction.Sum).Active(true); }); cs.ColumnSetting().ColumnKey("ProcessedGbCount").SummaryOperands(so => { so.SummaryOperand().RowDisplayLabel("Total").Type(SummaryFunction.Sum).Active(true); }); cs.ColumnSetting().ColumnKey("ProcessedItemCount").SummaryOperands(so => { so.SummaryOperand().RowDisplayLabel("Total").Type(SummaryFunction.Sum).Active(true); }); cs.ColumnSetting().ColumnKey("FirstLookGbCount").SummaryOperands(so => { so.SummaryOperand().RowDisplayLabel("Total").Type(SummaryFunction.Sum).Active(true); }); cs.ColumnSetting().ColumnKey("FirstLookItemCount").SummaryOperands(so => { so.SummaryOperand().RowDisplayLabel("Total").Type(SummaryFunction.Sum).Active(true); }); cs.ColumnSetting().ColumnKey("TotalForReviewGBCount").SummaryOperands(so => { so.SummaryOperand().RowDisplayLabel("Total").Type(SummaryFunction.Sum).Active(true); }); cs.ColumnSetting().ColumnKey("TotalForReviewItemCount").SummaryOperands(so => { so.SummaryOperand().RowDisplayLabel("Total").Type(SummaryFunction.Sum).Active(true); });
}) .Type(OpType.Local); features.MultiColumnHeaders(); }) .DataBind() .Render())
Hello again,
So, in your code you have multiple "ColumnSetting" objects and in each one of those you have only one "SummaryOperand" object. What you should do is place all of the "SummaryOperand" objects in a single "ColumnSetting" object. It should be similar to this:
.ColumnSettings(cs => {
cs.ColumnSetting().ColumnKey("Custodian").SummaryOperands(so => {
so.SummaryOperand().RowDisplayLabel("Total Record Count").Type(SummaryFunction.Count).Active(true);
so.SummaryOperand().RowDisplayLabel("Total").Type(SummaryFunction.Sum).Active(true);
});
})
Try that and if that doesn't work I'll investigate it further.
I tried that and all it did was update the Custodian field in the grid. All of the other fields ended up getting the MIN, MAX, AVG, SUM and COUNT fields added.
Hi Ryan,
Which version of the jQuery product are you using? I still can't reproduce it on my side. Have you tried to set the "Active" property to "false" in all other fields? If that doesn't work, the problem might be in the MVC helpers' syntax. If you are able to describe the igGrid in the jQuery syntax (as in the first post reply), maybe that will work. Try these suggestions, and if none of them work for you, we'll investigate further.
I am using NetAdvantage for .NET 2013 Vol. 1 in my MVC project. I've tried to get it working with the jQuery syntax but no luck. I believe I am stuck with the MVC helper syntax at the moment.
Yes, my answer was solved and no I do not need any further assistance. It was solved when my code was ported from vs2012 to vs2013 and the controls worked as intended. Thanks!
I am just checking if the latest reply helped you out or if you require any further assistance on the matter.
This sounds strange - can I ask you to compare the 2 html that is generated by the wrapper that you run in 4.0 and those in 4.5. I think they both should generate the same HTML code - and it is strange for me. Are you sure you are using the same configuration and the only difference is in Framework version.
Miro
I just ported my project over to VS2013 and running it on the 4.5 framework. Using the ".AutoGenerateColumn(false)" settings takes care of all of my issues and now everything is working great.
I am still wondering why I couldn't get it to work in 4.0 though. Thanks for the replies everyone.
So I've figured out why it wouldn't work, which doesn't really make sense to me.
There are a total of 22 fields in the IEnumerable that I am using for the datagrid. When I specify only the fields that I want from that I will get the extra column summary fields, even though they are blank. To get around this I have to manually set the other columns in the settings and set their hidden value to TRUE. Once you do this, you will get the desired results.
However, I am now getting another issues where no matter what size I set my first column's width to, it will not re-size. One problem down, another one up.