2009-12-14 4 views
7

J'ai un télérik: RadGrid qui est lié à une source de données SQL. Une des colonnes est pour "Location" qui est vraiment une valeur de recherche dans une autre table.Définir la valeur par défaut de telerik: GridDropDownColumn à l'intérieur de telerik: RadGrid

<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, c'est pouvoir définir l'option par défaut pour cette liste déroulante.

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 de similaire à ce que j'essaie de faire. Si vous cliquez sur "Ajouter un nouvel enregistrement", vous remarquerez que la ville par défaut est Kirkland et j'essaie de comprendre comment utiliser Londres comme valeur par défaut lors de l'ajout d'un nouvel enregistrement.

Répondre

5

Vous ne savez pas si c'est le meilleur ou le plus simple ou non, mais cela 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"); 
    } 
} 
Questions connexes