Valor de ajuste por defecto de telerik: GridDropDownColumn interior de telerik: RadGrid
Pregunta
Tengo un telerik: RadGrid que está enlazado a un origen de datos SQL. Una de las columnas es para "Lugar", que es realmente un valor de mirar hacia arriba en la otra tabla.
<telerik:GridDropDownColumn
DataField="d_location_id"
DataSourceID="dsLocation"
UniqueName="d_location_id"
DataType="System.Int32"
ListValueField="d_location_id"
ListTextField="Abbreviation"
HeaderText="Location">
</telerik:GridDropDownColumn>
Mi lista de ubicaciones se almacena en un ObjectDataSource, que está unido a un DataTable estática y ordenada alfabéticamente para mí ya. Lo que me gustaría hacer es ser capaz de establecer la opción por defecto para este desplegable.
Por ejemplo, supongamos que tengo los siguientes lugares:
1 Home
2 Work
3 Parents
4 Car
Me gustaría tener los padres a ser mi valor predeterminado.
Esta muestra sobre Telerik muestra algo similar a lo que estoy tratando de hacer. Si hace clic en "Add New Record", se dará cuenta de la ciudad por defecto es Kirkland y estoy tratando de averiguar cómo utilizar Londres como el valor por defecto cuando se añade un nuevo registro.
Solución
No estoy seguro si es la mejor o la más sencilla manera o no, pero funciona.
protected void gridMyInfo_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
if (e.Item.IsInEditMode && e.Item.ItemIndex < 0)
{
GridEditableItem editedItem = e.Item as GridEditableItem;
GridEditManager editMan = editedItem.EditManager;
GridDropDownListColumnEditor editor = editMan.GetColumnEditor("d_location_id") as GridDropDownListColumnEditor;
editor.ComboBoxControl.SelectedIndex = editor.ComboBoxControl.Items.FindItemIndexByText("Parents");
}
}