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);
   }
}

Inauguración

Desde que comencé con este de la programación, siempre he tenido una bitácora donde documento problemas comunes, trucos y demás ocurrencias. Aunque pareciera que es por nostálgico, esto lo hago para facilitar la chamba y tener mi propia Base de Conocimientos.

Con el objetivo de no solo hacer un montón de apuntes que quizás luego extravié, ahora llevare esa bitácora en este blog, esperando que les sea de utilidad y sea una oportunidad de intercambiar conocimientos.

Sin más preámbulo, bienvenidos sean al blog.