Problem with comb box column if data source is List<T>, 2010 Q2 SP2.
Hi
I set (radGridView1.Columns[0] as GridViewComboBoxColumn).DataSource on List<MyObject>.
During moving focus to another cell (after selecting something from combo box) I get exception.
DisplayMemeber and ValueMember are null – but I think it is ok for this case.
Stack trace:
FormatException: Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
at System.String.System.IConvertible.ToInt32(IFormatProvider provider)
at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
at System.ComponentModel.BaseNumberConverter.ConvertTo(ITypeDescriptorContext context, CultureInfo culture, Object value, Type destinationType)
at Telerik.WinControls.UI.RadDataConverter.ParseCore(Object value, Type targetType, Type sourceType, TypeConverter dataTypeConverter, IDataConversionInfoProvider dataColumn, Boolean checkFormattedNullValue)
at Telerik.WinControls.UI.RadDataConverter.Parse(IDataConversionInfoProvider converstionInfoProvider, Object value)
at Telerik.WinControls.UI.GridDataCellElement.set_Value(Object value)
at Telerik.WinControls.UI.GridViewEditManager.EndEditCore(Boolean validate, Boolean cancel)
at Telerik.WinControls.UI.GridViewEditManager.CloseEditor()
at Telerik.WinControls.UI.GridViewEditManager.OnPositionChanging(PositionChangingEventArgs args)
at Telerik.WinControls.UI.GridViewEditManager.Telerik.WinControls.UI.IGridViewEventListener.PreProcessEvent(GridViewEvent eventData)
at Telerik.WinControls.UI.GridViewEventProcessEntity.ProcessCollection(GridViewEvent gridEvent, PriorityWeakReferenceList list, GridEventProcessMode processMode)
at Telerik.WinControls.UI.GridViewEventProcessEntity.ProcessEvent(GridViewEvent gridEvent)
at Telerik.WinControls.UI.GridViewSynchronizationService.NotifyListeners(GridViewEvent gridEvent)
at Telerik.WinControls.UI.GridViewSynchronizationService.FlushEvents()
at Telerik.WinControls.UI.GridViewSynchronizationService.DispatchEvent(GridViewEvent gridEvent)
at Telerik.WinControls.UI.GridViewSynchronizationService.RaiseCurrentChanged(GridViewTemplate template, GridViewRowInfo row, GridViewColumn column, Boolean user)
at Telerik.WinControls.UI.BaseGridNavigator.SelectCore(GridViewRowInfo row, GridViewColumn column)
at Telerik.WinControls.UI.BaseGridNavigator.SelectNextColumn()
at Telerik.WinControls.UI.GridRowBehavior.ProcessTabKey(KeyEventArgs keys)
at Telerik.WinControls.UI.GridNewRowBehavior.ProcessTabKey(KeyEventArgs keys)
at Telerik.WinControls.UI.GridRowBehavior.ProcessKey(KeyEventArgs keys)
at Telerik.WinControls.UI.BaseGridBehavior.ProcessKey(KeyEventArgs keys)
at Telerik.WinControls.UI.RadGridView.ProcessDialogKey(Keys keyData)
at System.Windows.Forms.Control.PreProcessMessage(Message& msg)
at System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg)
at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)
I do not have this problem if I set DataSource to List<string>.
How can I set List< MyObject> as DataSource for comb box column?
Regards
Class
CustomGridBehavior
Inherits BaseGridBehavior
Protected Overloads Overrides Function ProcessTabKey(ByVal keys As System.Windows.Forms.KeyEventArgs) As Boolean
If Me.CheckIfLast() Then
Me.GridControl.EndEdit()
Me.GridControl.Rows.AddNew()
Me.GridControl.Rows(Me.GridControl.Rows.Count - 1).IsCurrent = True
Me.GridControl.Columns(1).IsCurrent = True
Me.GridControl.Focus()
Me.GridControl.BeginEdit()
Return True
Else
Me.GridControl.Focus()
Me.GridControl.EndEdit()
TryCast(GridControl.DataSource, BindingSource).EndEdit()
Return MyBase.ProcessTabKey(keys)
End If
End Function
2) 'Error 5 'ProcessTabKey' is not a member of 'Telerik.WinControls.UI.BaseGridBehavior'. '
Same code as above
3) 'Error 6 Value of type 'Debitask.CustomRadGridView' cannot be converted to 'Telerik.WinControls.UI.RadGridViewElement'.'
Class
CustomRadGridView
Inherits RadGridView
Public Sub New()
Dim gridBehavior As New CustomGridBehavior()
gridBehavior.Initialize(
Me) '<-- This line.
Me.GridBehavior = gridBehavior
End Sub
4) 'Error 33 Property 'Index' is 'ReadOnly'.'
newColumn =
New GridViewCheckBoxColumn
With newColumn
.BestFit()
.HeaderText =
"Selected"
.ReadOnly = False
.Index = 0
End With
5) Error 38 'CellElement' is not a member of 'Telerik.WinControls.UI.GridViewCellInfo'.
rowCurrent.Cells(
"image").CellElement.Image = Debitask.My.Resources.delete16
6) Error 117 Event 'GroupSumaryEvaluate' cannot be found'
private Sub grdAccessGroups_GroupSumaryEvaluate(ByVal sender As Object, ByVal e As Telerik.WinControls.UI.GroupSummaryEvaluationEventArgs) Handles grdAccessGroups.GroupSumaryEvaluate