martes, 31 de agosto de 2010

Resolver el error: DataBinding: 'Telerik.Web.UI.GridInsertionObject' no contiene una propiedad con el nombre X

Aunque ya he visto la solución en varios blogs (por ejemplo aquí) e incluso en el foro de soporte de Telerik, cada vez que me ocurría tenía que buscarlo y volver a leer todo el rollo. Asi que directo y sin escalas, el problema se soluciona de la siguiente manera:
  1. Se agrega al RadGrid el evento ItemCommand
  2. Dentro del evento se valida si el evento es InitInsert
  3. Si es el caso, se cancela el evento y se agregan valores por default en cada columna que diga no contener el objeto.
A continuación agrego el código de ejemplo (por si mi elocuente explicación no dice ni madres):
protected void RadGrid_ItemCommand(object source, GridCommandEventArgs e)
{
   if (e.CommandName == RadGrid.InitInsertCommandName)
   {
     e.Canceled = true;
     System.Collections.Specialized.ListDictionary Valores = new System.Collections.Specialized.ListDictionary();
     Valores.Add("IdMarca", "0");
     Valores.Add("IdCategoria", "0");
     e.Item.OwnerTableView.InsertItem(Valores);
   }
}

No hay comentarios:

Publicar un comentario