Solved

Changing summary value for UltraWinGrid

Posted on 2009-03-31
5
5,221 Views
Last Modified: 2013-11-15
I am using ultrawingrid which summary enabled showing the sum of the column. Now I want to make the summary value to zero and it should show only tthe sum of those rows which i select using check box.
0
Comment
Question by:srikanthreddyn143
  • 4
5 Comments
 
LVL 17

Accepted Solution

by:
ZeonFlash earned 125 total points
ID: 24033447
The summary value in a column is a read-only property, so you can't just force it to be a value.  Instead, you can create a custom summary calculator.

The following example assumes you have a column "Selected" (boolean) and a column "ValueColumn" (decimal).  After you check/uncheck the Selected cell, it will automatically re-calculate the summary (if it's in view)
	Private Class MyCustomSummarySettings

		Implements ICustomSummaryCalculator
 

		Private decTotal As Decimal = 0.0
 

		Public Sub New()

		End Sub
 

		'Reset the summary total

		Private Sub BeginCustomSummary(ByVal summarySettings As SummarySettings, ByVal rows As RowsCollection) Implements ICustomSummaryCalculator.BeginCustomSummary

			decTotal = 0

		End Sub
 

		'Perform the summary 

		Private Sub AggregateCustomSummary(ByVal summarySettings As SummarySettings, ByVal row As UltraGridRow) Implements ICustomSummaryCalculator.AggregateCustomSummary

			If Not row.Cells("Selected").Value Then Exit Sub
 

			Try

				decTotal += Convert.ToDecimal(row.GetCellValue(summarySettings.SourceColumn))

			Catch ex As Exception

				MsgBox("Error converting cell value to decimal", MsgBoxStyle.Critical)

			End Try

		End Sub
 

		'Return the summary value

		Private Function EndCustomSummary(ByVal summarySettings As SummarySettings, ByVal rows As RowsCollection) Implements ICustomSummaryCalculator.EndCustomSummary

			Return decTotal

		End Function

	End Class
 

	Private Sub UltraGrid1_InitializeLayout(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles UltraGrid1.InitializeLayout

		Dim summary As Infragistics.Win.UltraWinGrid.SummarySettings
 

		'Create a new summary object for the band

		summary = UltraGrid1.DisplayLayout.Bands(0).Summaries.Add("CustomSummary")
 

		summary.SummaryType = SummaryType.Custom

		summary.SourceColumn = UltraGrid1.DisplayLayout.Bands(0).Columns("ValueColumn")

		summary.CustomSummaryCalculator = New MyCustomSummarySettings

	End Sub

Open in new window

0
 
LVL 11

Author Comment

by:srikanthreddyn143
ID: 24034236
Hi Zeon,

Thanks for your reply.It was throwing an exception "Cannot convert 'True' to Long" when i used code in this way.

 'Perform the summary 

    Private Sub AggregateCustomSummary(ByVal summarySettings As SummarySettings, ByVal row As UltraGridRow) Implements ICustomSummaryCalculator.AggregateCustomSummary

        Try

            If Not row.Cells("CB").Value.ToString Then

                Exit Sub

            Else

                decTotal += Convert.ToDecimal(row.Cells("Amount").Value)

            End If

        Catch ex As Exception

            ExceptionManager.Publish(ex)

        End Try

    End Sub

Open in new window

0
 
LVL 11

Author Comment

by:srikanthreddyn143
ID: 24034252
It was throwing exception At line "If Not row.Cells("CB").Value"
0
 
LVL 11

Author Comment

by:srikanthreddyn143
ID: 24034831
Thanks.
Its working fine when i kept "If Not row.Cells("CB").Value = "True" Then ". But how can I have the summary as a footer. Right now it is scrolling with the datagrid.
0
 
LVL 11

Author Comment

by:srikanthreddyn143
ID: 24038702
Thank you. Thats fine.
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Programmer's Notepad is, one of the best free text editing tools available, simply because the developers appear to have second-guessed every weird problem or issue a programmer is likely to run into. One of these problems is selecting and deleti…
Update (December 2011): Since this article was published, the things have changed for good for Android native developers. The Sequoyah Project (http://www.eclipse.org/sequoyah/) automates most of the tasks discussed in this article. You can even fin…
THe viewer will learn how to use NetBeans IDE 8.0 for Windows to perform CRUD operations on a MySql database.
The viewer will learn how to use and create keystrokes in Netbeans IDE 8.0 for Windows.

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now