We are binding our grids to a BindingList<T> where T is a business object that implements IDataErrorInfo.
How do we "hook up" data validation in the GridView in this case?
When we had it bound to the Microsoft DataGridView we did not have to do anything. The error icons automatically appeared in the cell using the text defined using the IDataErrorInfo properties. But this does not appear to work with the GridView?
I read through what I could find on validation in the documentation and it appeared to require writing code in the Validating events. Is this still required when the binding source uses IDataErrorInfo?
Thanks!
How do we "hook up" data validation in the GridView in this case?
When we had it bound to the Microsoft DataGridView we did not have to do anything. The error icons automatically appeared in the cell using the text defined using the IDataErrorInfo properties. But this does not appear to work with the GridView?
I read through what I could find on validation in the documentation and it appeared to require writing code in the Validating events. Is this still required when the binding source uses IDataErrorInfo?
Thanks!
36 Answers, 1 is accepted
0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 12:25 AM
0
Deborah
Top achievements
Rank 1
answered on 19 Oct 2010, 01:51 AM
We don't have row headers on.
Is there a way to show the icon in the cell itself?
Is there a way to show the icon in the cell itself?
0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 07:36 AM
Hi Deborah,
Yes, you'd need to use the CellFormatting event to inspect the Cell.ContainsErrors property and then set an image in the cell accordingly.
For exmaple:
VB
C#
Yes, you'd need to use the CellFormatting event to inspect the Cell.ContainsErrors property and then set an image in the cell accordingly.
For exmaple:
VB
Private Sub radGridView1_CellFormatting(sender As Object, e As CellFormattingEventArgs) handles radGridView1.CellFormatting Dim cell As GridDataCellElement = TryCast(e.CellElement, GridDataCellElement) If cell IsNot Nothing Then If cell.ContainsErrors Then cell.DrawBorder = True cell.BorderBoxStyle = BorderBoxStyle.SingleBorder cell.BorderWidth = 2 cell.BorderColor = Color.Red cell.ImageAlignment = ContentAlignment.MiddleRight cell.Image = ' image End If End IfEnd SubC#
void radGridView1_CellFormatting(object sender, CellFormattingEventArgs e) { GridDataCellElement cell = e.CellElement as GridDataCellElement; if (cell != null) { if (cell.ContainsErrors) { cell.DrawBorder = true; cell.BorderBoxStyle = BorderBoxStyle.SingleBorder; cell.BorderWidth = 2; cell.BorderColor = Color.Red; cell.Image = //image; cell.ImageAlignment = ContentAlignment.MiddleRight; } } }0
Deborah
Top achievements
Rank 1
answered on 19 Oct 2010, 03:41 PM
So the CelllFormatting event is my only choice?
When I tried this, the border only appeared around the cell when I was on the line with the error. I want the border to appear always.
Here is the scenario: User enters three new rows, with errors in each one. I want to show all of the errors, not just the errors in the row that the user was in.
Is there a way to get the border color to *stay* red until the error is correct?
When I tried this, the border only appeared around the cell when I was on the line with the error. I want the border to appear always.
Here is the scenario: User enters three new rows, with errors in each one. I want to show all of the errors, not just the errors in the row that the user was in.
Is there a way to get the border color to *stay* red until the error is correct?
0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 03:56 PM
It should stay red, though I did miss out the else.
Give this a try please Deborah
Give this a try please Deborah
Private Sub radGridView1_CellFormatting(sender As Object, e As CellFormattingEventArgs) handles Me.radGridView1.CellFormatting Dim cell As GridDataCellElement = TryCast(e.CellElement, GridDataCellElement) If cell IsNot Nothing Then If cell.ContainsErrors Then cell.DrawBorder = True cell.BorderBoxStyle = BorderBoxStyle.SingleBorder cell.BorderWidth = 2 cell.BorderColor = Color.Red cell.ImageAlignment = ContentAlignment.MiddleRight cell.Image = ' image Else cell.ResetValue(LightVisualElement.DrawBorderProperty, ValueResetFlags.Local) cell.ResetValue(LightVisualElement.BorderBoxStyleProperty, ValueResetFlags.Local) cell.ResetValue(LightVisualElement.BorderWidthProperty, ValueResetFlags.Local) cell.ResetValue(LightVisualElement.BorderColorProperty, ValueResetFlags.Local) End If End IfEnd Sub0
Deborah
Top achievements
Rank 1
answered on 19 Oct 2010, 04:07 PM
Except for setting the image, that is pretty much what I had.
I will spend some more time on this later today and get back to you on my results.
THANKS!
I will spend some more time on this later today and get back to you on my results.
THANKS!
0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 04:12 PM
No problem Deborah.
Just try it on any cell.
For example, instead of inspecting for cell.ContainsErrors, you can test by looking for the Text value of a specific cell (just for testing).
You should see that the border stays on all the time when it reaches the condition and goes away when you change the cell text.
let me know if you need anything else. Also, may I ask that you mark as answer if you find this works for you so others can quickly find the solution.
Best wishes
Richard
Just try it on any cell.
For example, instead of inspecting for cell.ContainsErrors, you can test by looking for the Text value of a specific cell (just for testing).
You should see that the border stays on all the time when it reaches the condition and goes away when you change the cell text.
let me know if you need anything else. Also, may I ask that you mark as answer if you find this works for you so others can quickly find the solution.
Best wishes
Richard
0
Deborah
Top achievements
Rank 1
answered on 19 Oct 2010, 04:44 PM
I have a required field. When I am in the cell, it correctly appears with a red border as shown in the attached screen shot. If I move out of the cell, the red border goes away. So it no longer shows where the error is located.
Any idea what could be wrong? (I am using similar code to that you provided except the icon.)
Any idea what could be wrong? (I am using similar code to that you provided except the icon.)
0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 04:56 PM
Hi Deborah,
If you breakpoint in CellFormatting event, does it hit the
My guess is that there is a problem in the validation that is not seeing this as empty.
you could of course also add
Let me know if that helps
Richard
If you breakpoint in CellFormatting event, does it hit the
If cell.ContainsErrors Then...you could of course also add
if cell.ContainsErrors or String.IsNullOrEmpty(cell.Text.Trim()) then...End IfLet me know if that helps
Richard
0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 05:00 PM
Hi again Deborah,
I may be wrong, but from your screenshot it looks like you are creating a reminder system. Just a suggestion, but if that's the case, perhaps the RadReminder and RadScheduler would be best suited to this.
Richard
I may be wrong, but from your screenshot it looks like you are creating a reminder system. Just a suggestion, but if that's the case, perhaps the RadReminder and RadScheduler would be best suited to this.
Richard
0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 05:04 PM
By the way Deborah, can you confirm which version of the RadControls you are currently using?
Thanks
Richard
Thanks
Richard
0
Deborah
Top achievements
Rank 1
answered on 19 Oct 2010, 05:13 PM
Yes, it is hitting that code, which is why it is turning red when in the cell. I just don't understand why it does not stay red. Is the theme overriding it? (We are using the Office theme.)
No I cannot add the IsNullOrEmpty code as you suggested because based on other issues with the grid, we are inheriting from your grid and building our own. We have grids on many, many forms and want to minimize the amount of repeated code in each form.
All of our business objects implement IDataErrorInfo, which is what defines the error and the error text. Not every cell is required. Only those defined by the business object to be required.
Do you know if Telerik has fully tested the error handling with business objects that implement IDataErrorInfo? Do you know if they have an example somewhere that demonstrates how they do it?
Thanks!
No I cannot add the IsNullOrEmpty code as you suggested because based on other issues with the grid, we are inheriting from your grid and building our own. We have grids on many, many forms and want to minimize the amount of repeated code in each form.
All of our business objects implement IDataErrorInfo, which is what defines the error and the error text. Not every cell is required. Only those defined by the business object to be required.
Do you know if Telerik has fully tested the error handling with business objects that implement IDataErrorInfo? Do you know if they have an example somewhere that demonstrates how they do it?
Thanks!
0
Deborah
Top achievements
Rank 1
answered on 19 Oct 2010, 05:16 PM
No, we are creating a proprietary application that will be sold as a product where one dialog of the many, many dialogs adds reminders for the application. So even though this is the one I provided as an example, this problem needs to be resolved for *all* of our grids.
0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 05:22 PM
Could you post your class that implements IDataErrorInfo in the meantime please Deborah?
Thanks
Thanks
0
Emanuel Varga
Top achievements
Rank 1
answered on 19 Oct 2010, 05:27 PM
Hello,
Richard is right on this one, CellFormatting is the way to go on this one, in my opinion.
Second, the Grid should / is using the IDataErrorInfo to check for errors in the cell, i read about this somewhere, but i didn't have time to test it yet, but it should work as expected (except that error image that will not show up in the cell)
Best Regards,
Emanuel Varga
Richard is right on this one, CellFormatting is the way to go on this one, in my opinion.
Second, the Grid should / is using the IDataErrorInfo to check for errors in the cell, i read about this somewhere, but i didn't have time to test it yet, but it should work as expected (except that error image that will not show up in the cell)
Best Regards,
Emanuel Varga
0
Deborah
Top achievements
Rank 1
answered on 19 Oct 2010, 05:30 PM
This is a very complex application with a "full blown" framework. So I don't have a simple example to post.
All of the business objects inherit from a business object base class. The business object base class is a more complex version of what I shared publically here:
http://msmvps.com/blogs/deborahk/archive/2009/07/21/building-a-business-object-base-class.aspx
The individual business object classes then just call the validation methods in the property setters, like this:
Private _ReminderText As String ''' <summary> ''' Gets or sets Reminder Text ''' </summary> ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> Public Property ReminderText() As String Get Return _ReminderText End Get Set(ByVal value As String) If _ReminderText Is Nothing OrElse _ Not _ReminderText.Equals(value) Then Dim propertyName As String = "ReminderText" ' Validation Me.ValidationInstance.ValidateClear(propertyName) Me.ValidationInstance.ValidateRequired(propertyName, value) ' Set the value If _ReminderText IsNot Nothing OrElse value IsNot Nothing Then _ReminderText = value SetEntityState(EntityStateType.Modified, propertyName) End If End If End Set End Property
Is it possible that the theme is interfering with the display?
0
Deborah
Top achievements
Rank 1
answered on 19 Oct 2010, 05:35 PM
It is definitely *not* the business objects because the error icons are displayed. See the attached screen shots.
So there are two problems:
1) Even though I tell the icon to align MiddleRight, it is appearing in the center of the control and not on the right.
2) The red highlighting only appears when the user is in the cell.
Any tips for fixing these items?
So there are two problems:
1) Even though I tell the icon to align MiddleRight, it is appearing in the center of the control and not on the right.
2) The red highlighting only appears when the user is in the cell.
Any tips for fixing these items?
0
Deborah
Top achievements
Rank 1
answered on 19 Oct 2010, 05:36 PM
I believe it is the most recent version, but is there an easy way to tell?
I opened the about box, but was surprised to see no version information in it.
I opened the about box, but was surprised to see no version information in it.
0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 05:37 PM
Hi Deborah,
Here is a very simple test. A grid which is bound to a collection of objects that implement the interface. The class always ensures that an error is thrown for the "Name" cell.
See attached screenshot
Here is a very simple test. A grid which is bound to a collection of objects that implement the interface. The class always ensures that an error is thrown for the "Name" cell.
Imports Telerik.WinControlsImports Telerik.WinControls.UIImports System.Collections.ObjectModelImports System.Collections.GenericImports System.CollectionsImports System.ComponentModelPublic Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Try Dim somethings As New Somethings() Me.RadGridView1.DataSource = New BindingList(Of Something)(somethings.GetSomethings()) CType(Me.RadGridView1.Columns(0), GridViewDataColumn).SortOrder = RadSortOrder.Descending Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub RadGridView1_CellFormatting(ByVal sender As System.Object, ByVal e As Telerik.WinControls.UI.CellFormattingEventArgs) Handles RadGridView1.CellFormatting Dim cell As GridDataCellElement = TryCast(e.CellElement, GridDataCellElement) If cell IsNot Nothing Then If cell.ContainsErrors Then cell.DrawBorder = True cell.BorderBoxStyle = BorderBoxStyle.SingleBorder cell.BorderWidth = 2 cell.BorderColor = Color.Red cell.Image = My.Resources._error cell.TextImageRelation = TextImageRelation.ImageBeforeText cell.ImageAlignment = ContentAlignment.MiddleRight Else cell.ResetValue(LightVisualElement.DrawBorderProperty, ValueResetFlags.Local) cell.ResetValue(LightVisualElement.BorderBoxStyleProperty, ValueResetFlags.Local) cell.ResetValue(LightVisualElement.BorderWidthProperty, ValueResetFlags.Local) cell.ResetValue(LightVisualElement.BorderColorProperty, ValueResetFlags.Local) End If End If End SubEnd ClassPublic Class Somethings Public Sub New() End Sub Public Function GetSomethings() As System.Collections.Generic.List(Of Something) Dim somethingList As New System.Collections.Generic.List(Of Something) somethingList.Add(New Something("Name1", "Description1")) somethingList.Add(New Something("Name2", "Description2")) somethingList.Add(New Something("Name3", "Description3")) somethingList.Add(New Something("Name4", "Description4")) Return somethingList End FunctionEnd ClassPublic Class Something Implements IDataErrorInfo Private m_Name As String Private m_Description As String Public Sub New() End Sub Public Sub New(ByVal name As String, ByVal description As String) m_Name = name m_Description = description End Sub Public Property Name() As String Get Return m_Name End Get Set(ByVal value As String) m_Name = value End Set End Property Public Property Description() As String Get Return m_Description End Get Set(ByVal value As String) m_Description = value End Set End Property Public ReadOnly Property [Error]() As String Implements System.ComponentModel.IDataErrorInfo.Error Get If False = False Then Return "Invalid" Else Return String.Empty End If End Get End Property Default Public ReadOnly Property Item(ByVal columnName As String) As String Implements System.ComponentModel.IDataErrorInfo.Item Get If columnName = "Name" And False = False Then Return "Not a valid value" Else Return String.Empty End If End Get End PropertyEnd ClassSee attached screenshot
0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 05:44 PM
Just tried changing the theme of the Grid to Office2007Silver and there was no change.
Richard
Richard
0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 05:48 PM
For the version, have a look at one of your Telerik DLL references.
Thanks
Richard
Thanks
Richard
0
Emanuel Varga
Top achievements
Rank 1
answered on 19 Oct 2010, 05:54 PM
I would also suggest checking for some additional formatting that may cancel out the borders. Please try setting the background of the cell to a different color, and if that remains the same even after you change the row, something else is causing a reset of the border property.
Best Regards,
Emanuel Varga
Best Regards,
Emanuel Varga
0
Deborah
Top achievements
Rank 1
answered on 19 Oct 2010, 07:04 PM
2010.2.10.806
Is that the most recent?
Because even with your code changes, I still see the icon in the middle of the cell as per my screen shots.
Is that the most recent?
Because even with your code changes, I still see the icon in the middle of the cell as per my screen shots.
0
Deborah
Top achievements
Rank 1
answered on 19 Oct 2010, 07:05 PM
Is this correct? That I have to set the ImageAlignment twice?
cell.Image = My.Resources._error cell.ImageAlignment = ContentAlignment.BottomLeft cell.TextImageRelation = TextImageRelation.ImageBeforeText cell.ImageAlignment = ContentAlignment.MiddleRight 0
Emanuel Varga
Top achievements
Rank 1
answered on 19 Oct 2010, 07:07 PM
Hello Deborah,
No, this is the SP1 version, the most current one is 914, SP2 version, i would suggest updating to the new version.
And remove one of that assignations, the first one is useless if you change if afterwards.
Best Regards,
Emanuel Varga
No, this is the SP1 version, the most current one is 914, SP2 version, i would suggest updating to the new version.
And remove one of that assignations, the first one is useless if you change if afterwards.
Best Regards,
Emanuel Varga
0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 07:27 PM
Hi Deborah,
No, this is just my enthusiastic typing and forgot to remove one of the assignments. You just need the one.
Best wishes
Richard
No, this is just my enthusiastic typing and forgot to remove one of the assignments. You just need the one.
Best wishes
Richard
0
Accepted
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 08:15 PM
Hi again Deborah,
Here is a fully working example with validation on the object and the ShowRowHeaderColumn set to false.
It will ensure that 'Name' cannot be Name and 'Name' cannot be empty.
It shows a red border around the cells with the error and an image in the cell as you do not have ShowRowHeaderColumn set to true.
I hope this helps
Richard
Here is a fully working example with validation on the object and the ShowRowHeaderColumn set to false.
It will ensure that 'Name' cannot be Name and 'Name' cannot be empty.
It shows a red border around the cells with the error and an image in the cell as you do not have ShowRowHeaderColumn set to true.
I hope this helps
Richard
Imports Telerik.WinControls Imports Telerik.WinControls.UI Imports System.Collections.ObjectModel Imports System.Collections.Generic Imports System.Collections Imports System.ComponentModel Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Try Me.RadGridView1.ShowRowHeaderColumn = False Dim somethings As New Somethings() Me.RadGridView1.DataSource = New BindingList(Of Something)(somethings.GetSomethings()) CType(Me.RadGridView1.Columns(0), GridViewDataColumn).SortOrder = RadSortOrder.Descending Me.RadGridView1.MasterTemplate.BestFitColumns() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub RadGridView1_CellFormatting(ByVal sender As System.Object, ByVal e As Telerik.WinControls.UI.CellFormattingEventArgs) Handles RadGridView1.CellFormatting Dim cell As GridDataCellElement = TryCast(e.CellElement, GridDataCellElement) If cell IsNot Nothing Then If cell.ContainsErrors Then cell.DrawBorder = True cell.BorderBoxStyle = BorderBoxStyle.SingleBorder cell.BorderWidth = 2 cell.BorderColor = Color.Red cell.Image = My.Resources._error cell.ImageAlignment = ContentAlignment.MiddleLeft cell.TextImageRelation = TextImageRelation.ImageBeforeText Else cell.ResetValue(LightVisualElement.DrawBorderProperty, ValueResetFlags.Local) cell.ResetValue(LightVisualElement.BorderBoxStyleProperty, ValueResetFlags.Local) cell.ResetValue(LightVisualElement.BorderWidthProperty, ValueResetFlags.Local) cell.ResetValue(LightVisualElement.BorderColorProperty, ValueResetFlags.Local) cell.Image = Nothing End If End If End SubEnd Class Public Class Somethings Public Sub New() End Sub Public Function GetSomethings() As System.Collections.Generic.List(Of Something) Dim somethingList As New System.Collections.Generic.List(Of Something) somethingList.Add(New Something("Name1", "Description1")) somethingList.Add(New Something("Name2", "Description2")) somethingList.Add(New Something("Name3", "Description3")) somethingList.Add(New Something("Name4", "Description4")) Return somethingList End FunctionEnd Class Public Class Something Implements IDataErrorInfo Private m_Name As String Private m_Description As String Public Sub New() End Sub Public Sub New(ByVal name As String, ByVal description As String) m_Name = name m_Description = description End Sub Public Property Name() As String Get Return m_Name End Get Set(ByVal value As String) m_Name = value End Set End Property Public Property Description() As String Get Return m_Description End Get Set(ByVal value As String) m_Description = value End Set End Property Public ReadOnly Property [Error]() As String Implements System.ComponentModel.IDataErrorInfo.Error Get If Not IsNameValid() Then Return "Cannot be 'Name' or Empty" Else Return "" End If End Get End Property Default Public ReadOnly Property Item(ByVal columnName As String) As String Implements System.ComponentModel.IDataErrorInfo.Item Get If columnName = "Name" AndAlso Not IsNameValid() Then Return "Not a valid value" Else Return "" End If End Get End Property Private Function IsNameValid() As Boolean If String.IsNullOrEmpty(Me.Name) Then Return False End If If String.Equals(Me.Name.ToUpperInvariant(), "NAME") Then Return False End If Return True End FunctionEnd Class0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 08:20 PM
And an example screenshot after I've loaded the grid (which is Office2007 themed) and added two invalid rows. One with Name and one with empty data.
Richard
Richard
0
Deborah
Top achievements
Rank 1
answered on 19 Oct 2010, 08:58 PM
I just looked at your screen shot and noticed that you were not able to get the icon to appear to the right either.
If there is no text, it appears in the center both in your example and mine.
So there is no way to set the icon to be at the right of the cell?
If there is no text, it appears in the center both in your example and mine.
So there is no way to set the icon to be at the right of the cell?
0
Accepted
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 09:10 PM
Hi Deborah,
i know it's not ideal, but whilst I look at another way you could replace the CellFormatting event with this one.
i know it's not ideal, but whilst I look at another way you could replace the CellFormatting event with this one.
Private Sub RadGridView1_CellFormatting(ByVal sender As System.Object, ByVal e As Telerik.WinControls.UI.CellFormattingEventArgs) Handles RadGridView1.CellFormatting Dim cell As GridDataCellElement = TryCast(e.CellElement, GridDataCellElement) If cell IsNot Nothing Then If cell.ContainsErrors Then cell.DrawBorder = True cell.BorderBoxStyle = BorderBoxStyle.SingleBorder cell.BorderWidth = 2 cell.BorderColor = Color.Red cell.Image = My.Resources._error If String.IsNullOrEmpty(cell.Text) Then cell.Text = " " cell.ImageAlignment = ContentAlignment.MiddleRight cell.TextImageRelation = TextImageRelation.TextBeforeImage Else cell.ResetValue(LightVisualElement.DrawBorderProperty, ValueResetFlags.Local) cell.ResetValue(LightVisualElement.BorderBoxStyleProperty, ValueResetFlags.Local) cell.ResetValue(LightVisualElement.BorderWidthProperty, ValueResetFlags.Local) cell.ResetValue(LightVisualElement.BorderColorProperty, ValueResetFlags.Local) cell.Image = Nothing End If End IfEnd Sub0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 09:13 PM
0
Deborah
Top achievements
Rank 1
answered on 19 Oct 2010, 09:27 PM
OK, faking some text in did the trick for getting the icon to appear to the right. I assume that is a "bug" that you can submit for correction?
I still cannot get the borders to stay on. I tried starting with a new project and using your code, and the borders did stay on. So I assume that it is something more specific to my grid. I'll keep trying.
Thanks for your help!
I still cannot get the borders to stay on. I tried starting with a new project and using your code, and the borders did stay on. So I assume that it is something more specific to my grid. I'll keep trying.
Thanks for your help!
0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 09:31 PM
Hi Deborah,
Really glad that worked for you. I'd suggest you submit a feature request to enable a "DisplayStyle" such as other controls have perhaps, (other controls have a DisplayStyle with an Enum of ImageAndText, None, Text, Image) - though I can see why that may not be suitable for the grid cells.
I'm afraid I can't submit anything for correction as I'm just another user of the controls like yourself, but glad to have been able to help.
All the best
Richard
Really glad that worked for you. I'd suggest you submit a feature request to enable a "DisplayStyle" such as other controls have perhaps, (other controls have a DisplayStyle with an Enum of ImageAndText, None, Text, Image) - though I can see why that may not be suitable for the grid cells.
I'm afraid I can't submit anything for correction as I'm just another user of the controls like yourself, but glad to have been able to help.
All the best
Richard
0
Deborah
Top achievements
Rank 1
answered on 19 Oct 2010, 09:33 PM
OK, I got it to work.
I was trying some other things at one point and had removed the line that set the BorderBoxStyle. When I recompared your code to mine, I realized that it was missing and added it back. It now works!
Thanks!
I was trying some other things at one point and had removed the line that set the BorderBoxStyle. When I recompared your code to mine, I realized that it was missing and added it back. It now works!
Thanks!
0
Richard Slade
Top achievements
Rank 2
answered on 19 Oct 2010, 09:38 PM
Excellent!
Enjoy the rest of your day.
Richard
Enjoy the rest of your day.
Richard
0
Allen
Top achievements
Rank 1
answered on 21 Dec 2010, 09:43 AM
Hi, Deborah,
@"OK, faking some text in did the trick for getting the icon to appear to the right. I assume that is a "bug" that you can submit for correction?"
I read another post and got the solution , hope it helps:
Allen
@"OK, faking some text in did the trick for getting the icon to appear to the right. I assume that is a "bug" that you can submit for correction?"
I read another post and got the solution , hope it helps:
GridDataCellElement cell = e.CellElement as GridDataCellElement;if (cell != null){ if (cell.ContainsErrors) { //cell.Image = ; cell.TextImageRelation = TextImageRelation.TextBeforeImage; cell.ImageAlignment = ContentAlignment.MiddleRight; cell.ImageLayout = ImageLayout.None;//The missing one } else { cell.Image = null; }}Allen