Définir la valeur par défaut de telerik: GridDropDownColumn intérieur de telerik: RadGrid
Question
J'ai telerik: RadGrid qui est lié à une source de données SQL. L'une des colonnes est pour « Location » qui est vraiment rechercher la valeur dans une autre table.
<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>
Ma liste d'emplacements est stockée dans un ObjectDataSource, qui est lié à un DataTable statique et triée par ordre alphabétique pour moi déjà. Ce que je voudrais faire est d'être en mesure de définir l'option par défaut pour ce menu déroulant.
Par exemple, supposons que je les endroits suivants:
1 Home
2 Work
3 Parents
4 Car
Je voudrais avoir des parents soient ma valeur par défaut.
Cet exemple sur Telerik montre quelque chose semblable à ce que je suis en train de faire. Si vous cliquez sur « Ajouter un nouvel enregistrement », vous remarquerez la ville par défaut est Kirkland et je suis en train de comprendre comment utiliser Londres comme la valeur par défaut lors de l'ajout d'un nouveau record.
La solution
Je ne sais pas si elle est le meilleur ou le plus simple moyen ou non, mais il fonctionne.
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");
}
}