asp.net - ejemplos - radgridview telerik c#
Telerik RadGrid GridDataItem: ¿cómo determinar si existe una columna? (2)
Intenta usar la colección RenderColumns:
protected void rgGrid_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
bool found = (from d in rgGrid.MasterTableView.RenderColumns select d).Any(d => d.UniqueName == "ColumnUniqueName");
}
}
Estoy usando una clase base para modificar el comportamiento de cualquier Telerik RadGrid que aparece en mis páginas ASP.Net. En la clase base, quiero realizar ciertas operaciones (establecer Css, sugerencias de herramientas, etc.) en muchas columnas comunes, pero no todas las columnas comunes existen en cada cuadrícula.
En el evento ItemDataBound obtengo una instancia del GridDataItem y, a su vez, deseo obtener una referencia a una o más de las celdas contenidas en GridDataItem:
var cell = gridDataItem["ColumnUniqueName"]
El problema es que esto arroja una GridException si la columna nombrada no existe:
No se puede encontrar una celda vinculada al nombre de columna ''ColumnUniqueName''
¿Hay alguna manera de probar la existencia de una columna por nombre antes de hacer referencia a ella o estoy atascado con try catch?
Will me envió por el camino correcto:
var tableView = gridDataItem.OwnerTableView;
var gridColumn = tableView.Columns.FindByUniqueNameSafe(uniqueName);
if (gridColumn != null)
{
var cell = gridDataItem[gridColumn];
...